1 #include "critterselection.h"
2 
Instance()3 Critterselection* Critterselection::Instance ()
4 {
5 	static Critterselection t;
6 	return &t;
7 }
8 
Critterselection()9 Critterselection::Critterselection()
10 {
11 	cv_activate = false;
12 }
13 
unregisterCritterID(const unsigned long & critterID)14 void Critterselection::unregisterCritterID(const unsigned long& critterID)
15 {
16 	for ( unsigned int i = 0; i < clist.size(); i++ )
17 		if ( clist[i]->critterID == critterID )
18 		{
19 			clist.erase(clist.begin()+i);
20 			return;
21 		}
22 }
23 
clear()24 void Critterselection::clear()
25 {
26 	while ( clist.size() > 0 )
27 		clist.erase(clist.begin());
28 }
29 
unregisterCritterVID(const unsigned int & vectorID)30 void Critterselection::unregisterCritterVID(const unsigned int& vectorID)
31 {
32 	if ( vectorID < clist.size() )
33 		clist.erase(clist.begin()+vectorID);
34 }
35 
registerCritter(CritterB * critter)36 void Critterselection::registerCritter(CritterB* critter)
37 {
38 // 	selectCritter(critter);
39 
40 	// skip if already registered;
41 	for ( unsigned int i = 0; i < clist.size(); i++ )
42 		if ( clist[i]->critterID == critter->critterID )
43 			return;
44 
45 	clist.push_back(critter);
46 }
47 
deselectCritter(CritterB * critter)48 void Critterselection::deselectCritter(CritterB* critter)
49 {
50 	if ( selectedCritter && selectedCritter == critter )
51 		selectedCritter = 0;
52 }
53 
deselectCritter(const unsigned long & critterID)54 void Critterselection::deselectCritter(const unsigned long& critterID)
55 {
56 	if ( selectedCritter && selectedCritter->critterID == critterID )
57 		selectedCritter = 0;
58 }
59 
selectCritter(CritterB * critter)60 void Critterselection::selectCritter(CritterB* critter)
61 {
62 	cv_activate = true;
63 	selectedCritter = critter;
64 }
65 
selectCritterVID(const unsigned int & vectorID)66 void Critterselection::selectCritterVID(const unsigned int& vectorID)
67 {
68 	cv_activate = true;
69 	selectedCritter = clist[vectorID];
70 }
71 
~Critterselection()72 Critterselection::~Critterselection()
73 {
74 }
75