diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-09-25 20:30:15 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-09-25 20:30:15 +0400 |
commit | aa989c1e8343cb761665129d44e03a4fc4c7cd95 (patch) | |
tree | bc7af2fbee186fb0d1ea563b8d43e79f5af30f0a /source/gameengine/GameLogic | |
parent | 9f6566c0a57ae136a819a461c43092a998c69f77 (diff) |
almost all event managers stored a pointer back to the logic manager, easier if this pointer is in the base class - SCA_EventManager
Diffstat (limited to 'source/gameengine/GameLogic')
18 files changed, 19 insertions, 37 deletions
diff --git a/source/gameengine/GameLogic/SCA_ActuatorEventManager.cpp b/source/gameengine/GameLogic/SCA_ActuatorEventManager.cpp index a80b2af55c8..e4dfe4e0bff 100644 --- a/source/gameengine/GameLogic/SCA_ActuatorEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_ActuatorEventManager.cpp @@ -36,8 +36,7 @@ SCA_ActuatorEventManager::SCA_ActuatorEventManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(ACTUATOR_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, ACTUATOR_EVENTMGR) { } diff --git a/source/gameengine/GameLogic/SCA_ActuatorEventManager.h b/source/gameengine/GameLogic/SCA_ActuatorEventManager.h index f3884c87a75..8c86d0dd422 100644 --- a/source/gameengine/GameLogic/SCA_ActuatorEventManager.h +++ b/source/gameengine/GameLogic/SCA_ActuatorEventManager.h @@ -37,8 +37,6 @@ using namespace std; class SCA_ActuatorEventManager : public SCA_EventManager { - class SCA_LogicManager* m_logicmgr; - public: SCA_ActuatorEventManager(class SCA_LogicManager* logicmgr); virtual ~SCA_ActuatorEventManager(); diff --git a/source/gameengine/GameLogic/SCA_AlwaysEventManager.cpp b/source/gameengine/GameLogic/SCA_AlwaysEventManager.cpp index dd3b55abcc9..aee01606974 100644 --- a/source/gameengine/GameLogic/SCA_AlwaysEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_AlwaysEventManager.cpp @@ -42,8 +42,7 @@ using namespace std; SCA_AlwaysEventManager::SCA_AlwaysEventManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(ALWAYS_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, ALWAYS_EVENTMGR) { } diff --git a/source/gameengine/GameLogic/SCA_AlwaysEventManager.h b/source/gameengine/GameLogic/SCA_AlwaysEventManager.h index 9540e3b71f6..f7fb3b9714e 100644 --- a/source/gameengine/GameLogic/SCA_AlwaysEventManager.h +++ b/source/gameengine/GameLogic/SCA_AlwaysEventManager.h @@ -34,8 +34,6 @@ using namespace std; class SCA_AlwaysEventManager : public SCA_EventManager { - - class SCA_LogicManager* m_logicmgr; public: SCA_AlwaysEventManager(class SCA_LogicManager* logicmgr); virtual void NextFrame(); diff --git a/source/gameengine/GameLogic/SCA_BasicEventManager.cpp b/source/gameengine/GameLogic/SCA_BasicEventManager.cpp index 24cae439fb7..a2a7e535b5c 100644 --- a/source/gameengine/GameLogic/SCA_BasicEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_BasicEventManager.cpp @@ -42,8 +42,7 @@ using namespace std; SCA_BasicEventManager::SCA_BasicEventManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(BASIC_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, BASIC_EVENTMGR) { } diff --git a/source/gameengine/GameLogic/SCA_EventManager.cpp b/source/gameengine/GameLogic/SCA_EventManager.cpp index d1301541a0a..5b6f3c46022 100644 --- a/source/gameengine/GameLogic/SCA_EventManager.cpp +++ b/source/gameengine/GameLogic/SCA_EventManager.cpp @@ -35,8 +35,9 @@ #endif -SCA_EventManager::SCA_EventManager(EVENT_MANAGER_TYPE mgrtype) - :m_mgrtype(mgrtype) +SCA_EventManager::SCA_EventManager(SCA_LogicManager* logicmgr, EVENT_MANAGER_TYPE mgrtype) + :m_logicmgr(logicmgr), + m_mgrtype(mgrtype) { } diff --git a/source/gameengine/GameLogic/SCA_EventManager.h b/source/gameengine/GameLogic/SCA_EventManager.h index f77b115ee03..debefcc45b0 100644 --- a/source/gameengine/GameLogic/SCA_EventManager.h +++ b/source/gameengine/GameLogic/SCA_EventManager.h @@ -38,6 +38,8 @@ class SCA_EventManager { protected: + class SCA_LogicManager* m_logicmgr; /* all event manager subclasses use this (other then TimeEventManager) */ + // use a set to speed-up insertion/removal //std::set <class SCA_ISensor*> m_sensors; SG_DList m_sensors; @@ -58,7 +60,7 @@ public: BASIC_EVENTMGR }; - SCA_EventManager(EVENT_MANAGER_TYPE mgrtype); + SCA_EventManager(SCA_LogicManager* logicmgr, EVENT_MANAGER_TYPE mgrtype); virtual ~SCA_EventManager(); virtual void RemoveSensor(class SCA_ISensor* sensor); diff --git a/source/gameengine/GameLogic/SCA_JoystickManager.cpp b/source/gameengine/GameLogic/SCA_JoystickManager.cpp index ff8f3b1c81f..480292774da 100644 --- a/source/gameengine/GameLogic/SCA_JoystickManager.cpp +++ b/source/gameengine/GameLogic/SCA_JoystickManager.cpp @@ -37,8 +37,7 @@ SCA_JoystickManager::SCA_JoystickManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(JOY_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, JOY_EVENTMGR) { int i; for (i=0; i<JOYINDEX_MAX; i++) { diff --git a/source/gameengine/GameLogic/SCA_JoystickManager.h b/source/gameengine/GameLogic/SCA_JoystickManager.h index be55e95b033..cd0e22cc367 100644 --- a/source/gameengine/GameLogic/SCA_JoystickManager.h +++ b/source/gameengine/GameLogic/SCA_JoystickManager.h @@ -35,8 +35,6 @@ using namespace std; class SCA_JoystickManager : public SCA_EventManager { - - class SCA_LogicManager* m_logicmgr; /** * SDL Joystick Class Instance */ diff --git a/source/gameengine/GameLogic/SCA_KeyboardManager.cpp b/source/gameengine/GameLogic/SCA_KeyboardManager.cpp index 279adab94d8..3d010f57055 100644 --- a/source/gameengine/GameLogic/SCA_KeyboardManager.cpp +++ b/source/gameengine/GameLogic/SCA_KeyboardManager.cpp @@ -37,9 +37,8 @@ SCA_KeyboardManager::SCA_KeyboardManager(SCA_LogicManager* logicmgr, SCA_IInputDevice* inputdev) - : SCA_EventManager(KEYBOARD_EVENTMGR), - m_inputDevice(inputdev), - m_logicmanager(logicmgr) + : SCA_EventManager(logicmgr, KEYBOARD_EVENTMGR), + m_inputDevice(inputdev) { } @@ -65,7 +64,7 @@ void SCA_KeyboardManager::NextFrame() SG_DList::iterator<SCA_ISensor> it(m_sensors); for (it.begin();!it.end();++it) { - (*it)->Activate(m_logicmanager); + (*it)->Activate(m_logicmgr); } } diff --git a/source/gameengine/GameLogic/SCA_KeyboardManager.h b/source/gameengine/GameLogic/SCA_KeyboardManager.h index c5553a74aef..8155283a274 100644 --- a/source/gameengine/GameLogic/SCA_KeyboardManager.h +++ b/source/gameengine/GameLogic/SCA_KeyboardManager.h @@ -45,8 +45,6 @@ using namespace std; class SCA_KeyboardManager : public SCA_EventManager { class SCA_IInputDevice* m_inputDevice; - class SCA_LogicManager* m_logicmanager; - public: SCA_KeyboardManager(class SCA_LogicManager* logicmgr,class SCA_IInputDevice* inputdev); diff --git a/source/gameengine/GameLogic/SCA_MouseManager.cpp b/source/gameengine/GameLogic/SCA_MouseManager.cpp index d407647cec3..c752701e785 100644 --- a/source/gameengine/GameLogic/SCA_MouseManager.cpp +++ b/source/gameengine/GameLogic/SCA_MouseManager.cpp @@ -48,9 +48,8 @@ SCA_MouseManager::SCA_MouseManager(SCA_LogicManager* logicmgr, SCA_IInputDevice* mousedev) - : SCA_EventManager(MOUSE_EVENTMGR), - m_mousedevice (mousedev), - m_logicmanager(logicmgr) + : SCA_EventManager(logicmgr, MOUSE_EVENTMGR), + m_mousedevice (mousedev) { m_xpos = 0; m_ypos = 0; @@ -93,7 +92,7 @@ void SCA_MouseManager::NextFrame() mousesensor->setX(mx); mousesensor->setY(my); - mousesensor->Activate(m_logicmanager); + mousesensor->Activate(m_logicmgr); } } } diff --git a/source/gameengine/GameLogic/SCA_MouseManager.h b/source/gameengine/GameLogic/SCA_MouseManager.h index ef1533c636b..00bbab66aa6 100644 --- a/source/gameengine/GameLogic/SCA_MouseManager.h +++ b/source/gameengine/GameLogic/SCA_MouseManager.h @@ -47,7 +47,6 @@ class SCA_MouseManager : public SCA_EventManager { class SCA_IInputDevice* m_mousedevice; - class SCA_LogicManager* m_logicmanager; unsigned short m_xpos; // Cached location of the mouse pointer unsigned short m_ypos; diff --git a/source/gameengine/GameLogic/SCA_PropertyEventManager.cpp b/source/gameengine/GameLogic/SCA_PropertyEventManager.cpp index 764465309df..e01ce74e0a9 100644 --- a/source/gameengine/GameLogic/SCA_PropertyEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_PropertyEventManager.cpp @@ -35,8 +35,7 @@ SCA_PropertyEventManager::SCA_PropertyEventManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(PROPERTY_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, PROPERTY_EVENTMGR) { } diff --git a/source/gameengine/GameLogic/SCA_PropertyEventManager.h b/source/gameengine/GameLogic/SCA_PropertyEventManager.h index a9692377df8..5a036abb8b7 100644 --- a/source/gameengine/GameLogic/SCA_PropertyEventManager.h +++ b/source/gameengine/GameLogic/SCA_PropertyEventManager.h @@ -37,8 +37,6 @@ using namespace std; class SCA_PropertyEventManager : public SCA_EventManager { - class SCA_LogicManager* m_logicmgr; - public: SCA_PropertyEventManager(class SCA_LogicManager* logicmgr); virtual ~SCA_PropertyEventManager(); diff --git a/source/gameengine/GameLogic/SCA_RandomEventManager.cpp b/source/gameengine/GameLogic/SCA_RandomEventManager.cpp index 976597aa812..780f8d10857 100644 --- a/source/gameengine/GameLogic/SCA_RandomEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_RandomEventManager.cpp @@ -42,8 +42,7 @@ using namespace std; #endif SCA_RandomEventManager::SCA_RandomEventManager(class SCA_LogicManager* logicmgr) - : SCA_EventManager(RANDOM_EVENTMGR), - m_logicmgr(logicmgr) + : SCA_EventManager(logicmgr, RANDOM_EVENTMGR) { } diff --git a/source/gameengine/GameLogic/SCA_RandomEventManager.h b/source/gameengine/GameLogic/SCA_RandomEventManager.h index c8b511b87b7..81896709551 100644 --- a/source/gameengine/GameLogic/SCA_RandomEventManager.h +++ b/source/gameengine/GameLogic/SCA_RandomEventManager.h @@ -39,8 +39,6 @@ using namespace std; class SCA_RandomEventManager : public SCA_EventManager { - class SCA_LogicManager* m_logicmgr; - public: SCA_RandomEventManager(class SCA_LogicManager* logicmgr); diff --git a/source/gameengine/GameLogic/SCA_TimeEventManager.cpp b/source/gameengine/GameLogic/SCA_TimeEventManager.cpp index 911ea772bef..1b49906b8de 100644 --- a/source/gameengine/GameLogic/SCA_TimeEventManager.cpp +++ b/source/gameengine/GameLogic/SCA_TimeEventManager.cpp @@ -43,7 +43,7 @@ #include "FloatValue.h" SCA_TimeEventManager::SCA_TimeEventManager(SCA_LogicManager* logicmgr) -: SCA_EventManager(TIME_EVENTMGR) +: SCA_EventManager(NULL, TIME_EVENTMGR) { } |