From 7911e7bddf277d79fdd15cba494fb6d37d9a403c Mon Sep 17 00:00:00 2001 From: Lendemor Date: Fri, 11 Mar 2016 21:49:10 +0100 Subject: [PATCH] added message system --- src/engine.cpp | 4 ++-- src/message.cpp | 7 +++++++ src/message.h | 18 ++++++++++++++++++ src/messagebus.cpp | 11 +++++++++++ src/messagebus.h | 18 ++++++++++++++++++ src/system.cpp | 7 +++++++ src/system.h | 20 ++++++++++++++++++++ src/tools/graph.h | 2 +- src/tools/loader.cpp | 1 + 9 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 src/message.cpp create mode 100644 src/message.h create mode 100644 src/messagebus.cpp create mode 100644 src/messagebus.h create mode 100644 src/system.cpp create mode 100644 src/system.h diff --git a/src/engine.cpp b/src/engine.cpp index cdcf083..ecb203b 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -19,14 +19,14 @@ Engine::Engine() : m_clock = new sf::Clock(); m_clock->restart(); m_renderer = new SparrowRenderer(); - m_renderer->setCamera(NULL); + // m_renderer->setCamera(NULL); } Engine::~Engine() { delete m_clock; if(m_window != NULL) - m_renderer->destroyGL(); + // m_renderer->destroyGL(); delete m_renderer; if(m_window != NULL) { diff --git a/src/message.cpp b/src/message.cpp new file mode 100644 index 0000000..3a27417 --- /dev/null +++ b/src/message.cpp @@ -0,0 +1,7 @@ +#include "message.h" + + +Message::Message(std::string id, SystemType sender):m_id(id),m_sender(sender) +{ + +} diff --git a/src/message.h b/src/message.h new file mode 100644 index 0000000..61f9192 --- /dev/null +++ b/src/message.h @@ -0,0 +1,18 @@ +#ifndef MESSAGE_H +#define MESSAGE_H + +#include +#include +#include "system.h" + +class Message +{ + std::string m_id; + SystemType m_sender; +public: + Message(std::string,SystemType); +}; + + + +#endif // MESSAGE_H diff --git a/src/messagebus.cpp b/src/messagebus.cpp new file mode 100644 index 0000000..2cccec1 --- /dev/null +++ b/src/messagebus.cpp @@ -0,0 +1,11 @@ +#include "messagebus.h" + +MessageBus::MessageBus() +{ + +} + +void MessageBus::postMessage(Message *msg) +{ + message_list.push_back(msg); +} diff --git a/src/messagebus.h b/src/messagebus.h new file mode 100644 index 0000000..626c971 --- /dev/null +++ b/src/messagebus.h @@ -0,0 +1,18 @@ +#ifndef MESSAGEBUS_H +#define MESSAGEBUS_H + +#include + +class Message; + +class MessageBus +{ + std::vector message_list; //message file + +public: + MessageBus(); + void postMessage(Message* msg); + void handleMessage(); +}; + +#endif // MESSAGEBUS_H diff --git a/src/system.cpp b/src/system.cpp new file mode 100644 index 0000000..636b73c --- /dev/null +++ b/src/system.cpp @@ -0,0 +1,7 @@ +#include "system.h" + + +System::System() +{ + +} diff --git a/src/system.h b/src/system.h new file mode 100644 index 0000000..3cfb905 --- /dev/null +++ b/src/system.h @@ -0,0 +1,20 @@ +#ifndef SYSTEM_H +#define SYSTEM_H + +class MessageBus; +class Message; + +//TODO:complete this part with other existing system, +enum SystemType {INPUT_SYSTEM, RENDERER_SYSTEM, IA_SYSTEM}; + +class System +{ + SystemType m_type; + MessageBus* m_msgBus; + +public: + System(); + virtual void handleMessage(Message* message) = 0; +}; + +#endif // SYSTEM_H diff --git a/src/tools/graph.h b/src/tools/graph.h index 42f670d..aea86fe 100644 --- a/src/tools/graph.h +++ b/src/tools/graph.h @@ -18,7 +18,7 @@ public: void addNeighbours(GraphNode*,float); void addNeighbours(GraphEdge); int getNbNeighbours(); - virtual float heuristic(GraphNode*){return 1;}; + virtual float heuristic(GraphNode*){return 1;} void setValue(int); int getValue(); diff --git a/src/tools/loader.cpp b/src/tools/loader.cpp index 102bf4e..6f962fb 100644 --- a/src/tools/loader.cpp +++ b/src/tools/loader.cpp @@ -1,6 +1,7 @@ #include "loader.h" #include #include +#include #include #include