1 #include "critterselection.h" 2 Instance()3Critterselection* Critterselection::Instance () 4 { 5 static Critterselection t; 6 return &t; 7 } 8 Critterselection()9Critterselection::Critterselection() 10 { 11 cv_activate = false; 12 } 13 unregisterCritterID(const unsigned long & critterID)14void 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()24void Critterselection::clear() 25 { 26 while ( clist.size() > 0 ) 27 clist.erase(clist.begin()); 28 } 29 unregisterCritterVID(const unsigned int & vectorID)30void Critterselection::unregisterCritterVID(const unsigned int& vectorID) 31 { 32 if ( vectorID < clist.size() ) 33 clist.erase(clist.begin()+vectorID); 34 } 35 registerCritter(CritterB * critter)36void 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)48void Critterselection::deselectCritter(CritterB* critter) 49 { 50 if ( selectedCritter && selectedCritter == critter ) 51 selectedCritter = 0; 52 } 53 deselectCritter(const unsigned long & critterID)54void Critterselection::deselectCritter(const unsigned long& critterID) 55 { 56 if ( selectedCritter && selectedCritter->critterID == critterID ) 57 selectedCritter = 0; 58 } 59 selectCritter(CritterB * critter)60void Critterselection::selectCritter(CritterB* critter) 61 { 62 cv_activate = true; 63 selectedCritter = critter; 64 } 65 selectCritterVID(const unsigned int & vectorID)66void Critterselection::selectCritterVID(const unsigned int& vectorID) 67 { 68 cv_activate = true; 69 selectedCritter = clist[vectorID]; 70 } 71 ~Critterselection()72Critterselection::~Critterselection() 73 { 74 } 75