00001 #ifndef __KX_ICONTROLLER 00002 #define __KX_ICONTROLLER 00003 00004 #include "SCA_ILogicBrick.h" 00005 00006 class SCA_IController : public SCA_ILogicBrick 00007 { 00008 protected: 00009 std::vector<class SCA_ISensor*> m_linkedsensors; 00010 std::vector<class SCA_IActuator*> m_linkedactuators; 00011 public: 00012 SCA_IController(SCA_IObject* gameobj,PyTypeObject* T ) 00013 :SCA_ILogicBrick(gameobj,T) {}; 00014 virtual ~SCA_IController() {}; 00015 virtual void Trigger(class SCA_LogicManager* logicmgr)=0; 00016 void LinkToSensor(SCA_ISensor* sensor); 00017 void LinkToActuator(SCA_IActuator*); 00018 const std::vector<class SCA_ISensor*>& GetLinkedSensors() { return m_linkedsensors;} 00019 const std::vector<class SCA_IActuator*>& GetLinkedActuators() { return m_linkedactuators;} 00020 void UnlinkAllSensors() { m_linkedsensors.clear();} 00021 void UnlinkAllActuators() {m_linkedactuators.clear();} 00022 00023 }; 00024 #endif