Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
LogicSystem.h
Go to the documentation of this file.
1 
2 #ifndef _Demo_LogicSystem_H_
3 #define _Demo_LogicSystem_H_
4 
5 #include "BaseSystem.h"
6 #include "OGRE/OgrePrerequisites.h"
7 
8 #include <deque>
9 
10 namespace Demo
11 {
12  class GameEntityManager;
13 
14  class LogicSystem : public BaseSystem
15  {
16  protected:
19 
20  Ogre::uint32 mCurrentTransformIdx;
21  std::deque<Ogre::uint32> mAvailableTransformIdx;
22 
24  virtual void processIncomingMessage( Mq::MessageId messageId, const void *data );
25 
26  public:
27  LogicSystem( GameState *gameState );
28  virtual ~LogicSystem();
29 
30  void _notifyGraphicsSystem( BaseSystem *graphicsSystem ) { mGraphicsSystem = graphicsSystem; }
32 
33  void finishFrameParallel(void);
34 
36  Ogre::uint32 getCurrentTransformIdx(void) const { return mCurrentTransformIdx; }
37  };
38 }
39 
40 #endif
Demo::LogicSystem::processIncomingMessage
virtual void processIncomingMessage(Mq::MessageId messageId, const void *data)
Definition: LogicSystem.cpp:75
Demo::LogicSystem::finishFrameParallel
void finishFrameParallel(void)
Definition: LogicSystem.cpp:44
Demo::LogicSystem::mGameEntityManager
GameEntityManager * mGameEntityManager
Definition: LogicSystem.h:18
Demo::Mq::SDL_EVENT
@ SDL_EVENT
Definition: MqMessages.h:21
Demo::Mq::MessageQueueSystem::queueSendMessage
void queueSendMessage(MessageQueueSystem *dstSystem, Mq::MessageId messageId, const T &msg)
Queues message 'msg' to be sent to a destination MessageQueueSystem.
Definition: MessageQueueSystem.h:66
Demo::LogicSystem::LogicSystem
LogicSystem(GameState *gameState)
Definition: LogicSystem.cpp:28
Demo::LogicSystem::getCurrentTransformIdx
Ogre::uint32 getCurrentTransformIdx(void) const
Definition: LogicSystem.h:36
Demo::LogicSystem::_notifyGraphicsSystem
void _notifyGraphicsSystem(BaseSystem *graphicsSystem)
Definition: LogicSystem.h:30
Demo::LogicSystem::getGameEntityManager
GameEntityManager * getGameEntityManager(void)
Definition: LogicSystem.h:35
Demo
Definition: BaseSystem.cpp:5
Demo::GameEntityManager::_notifyGameEntitiesRemoved
void _notifyGameEntitiesRemoved(size_t slot)
Must be called by LogicSystem when Mq::GAME_ENTITY_SCHEDULED_FOR_REMOVAL_SLOT message arrives.
Definition: GameEntityManager.cpp:93
Demo::LogicSystem::_notifyGameEntityManager
void _notifyGameEntityManager(GameEntityManager *mgr)
Definition: LogicSystem.h:31
GameEntityManager.h
Demo::GameState
Definition: GameState.h:9
GameState.h
Demo::BaseSystem
Definition: BaseSystem.h:11
Demo::LogicSystem::mGraphicsSystem
BaseSystem * mGraphicsSystem
Definition: LogicSystem.h:17
Demo::LogicSystem
Definition: LogicSystem.h:14
Demo::GameEntityManager
Definition: GameEntityManager.h:13
Demo::Mq::GAME_ENTITY_SCHEDULED_FOR_REMOVAL_SLOT
@ GAME_ENTITY_SCHEDULED_FOR_REMOVAL_SLOT
Definition: MqMessages.h:19
Demo::Mq::MessageId
MessageId
Definition: MqMessages.h:12
BaseSystem.h
Demo::LogicSystem::~LogicSystem
virtual ~LogicSystem()
Definition: LogicSystem.cpp:40
NUM_GAME_ENTITY_BUFFERS
#define NUM_GAME_ENTITY_BUFFERS
Definition: GameEntity.h:11
SdlInputHandler.h
Demo::GameEntityManager::finishFrameParallel
void finishFrameParallel(void)
Must be called every frame from the LOGIC THREAD.
Definition: GameEntityManager.cpp:185
Demo::LogicSystem::mAvailableTransformIdx
std::deque< Ogre::uint32 > mAvailableTransformIdx
Definition: LogicSystem.h:21
LogicSystem.h
Demo::LogicSystem::mCurrentTransformIdx
Ogre::uint32 mCurrentTransformIdx
Definition: LogicSystem.h:20
Demo::BaseSystem::finishFrameParallel
void finishFrameParallel(void)
Definition: BaseSystem.cpp:72
Demo::Mq::LOGICFRAME_FINISHED
@ LOGICFRAME_FINISHED
Definition: MqMessages.h:15