00001 #include <algorithm> 00002 00003 #include "Control.h" 00004 #include "Screen.h" 00005 00006 using namespace std; 00007 00008 vector< Object* > Control::_controllers; 00009 00010 void Control::update() 00011 { 00012 /* 00013 for( vector< Object* >::iterator i = _controllers.begin(); i != _controllers.end(); i++ ) 00014 { 00015 (*i)->control(); 00016 }*/ 00017 for(size_t i = 0; i < _controllers.size(); i++) 00018 _controllers[i]->control(); 00019 } 00020 00021 void Control::registerController(Object * o) 00022 { 00023 _controllers.push_back( o ); 00024 } 00025 00026 void Control::detachController( Object* o ) 00027 { 00028 // It's possible that the controller is registered multiple times, so 00029 // remove all instances 00030 _controllers.erase( 00031 remove( _controllers.begin(), _controllers.end(), o ), 00032 _controllers.end() ); 00033 } 00034 00035 void Control::detachAllControllers() 00036 { 00037 _controllers.clear(); 00038 }