From e2c90a467b5ef1fbadc7a725c2ffa6f0a715ad3c Mon Sep 17 00:00:00 2001 From: Erik Persson Date: Mon, 25 Nov 2013 12:51:58 +0100 Subject: [PATCH 1/2] reference manager for physics communication --- Code/GameLogic/GameLogic.vcxproj | 2 ++ Code/GameLogic/GameLogic.vcxproj.filters | 6 +++++ Code/GameLogic/RefManager.cpp | 26 ++++++++++++++++++++++ Code/GameLogic/RefManager.h | 28 ++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 Code/GameLogic/RefManager.cpp create mode 100644 Code/GameLogic/RefManager.h diff --git a/Code/GameLogic/GameLogic.vcxproj b/Code/GameLogic/GameLogic.vcxproj index df8f429b..1a32415f 100644 --- a/Code/GameLogic/GameLogic.vcxproj +++ b/Code/GameLogic/GameLogic.vcxproj @@ -170,6 +170,7 @@ + @@ -180,6 +181,7 @@ + diff --git a/Code/GameLogic/GameLogic.vcxproj.filters b/Code/GameLogic/GameLogic.vcxproj.filters index 4df71a7c..86e9fa9c 100644 --- a/Code/GameLogic/GameLogic.vcxproj.filters +++ b/Code/GameLogic/GameLogic.vcxproj.filters @@ -39,6 +39,9 @@ Header Files + + Header Files + @@ -68,5 +71,8 @@ Source Files + + Source Files + \ No newline at end of file diff --git a/Code/GameLogic/RefManager.cpp b/Code/GameLogic/RefManager.cpp new file mode 100644 index 00000000..852cb6b1 --- /dev/null +++ b/Code/GameLogic/RefManager.cpp @@ -0,0 +1,26 @@ +#include "RefManager.h" + +using namespace GameLogic; + +typedef std::pair mapData; + +RefManager::RefManager(void) +{ +} + + +RefManager::~RefManager(void) +{ +} + +Object* RefManager::GetMap(Oyster::Physics::ICustomBody *body) +{ + return mapper[body]; +} + +void RefManager::AddMapping(Oyster::Physics::ICustomBody *body, Object *obj) +{ + mapper.insert(mapData(body,obj)); +} + + diff --git a/Code/GameLogic/RefManager.h b/Code/GameLogic/RefManager.h new file mode 100644 index 00000000..1d49af78 --- /dev/null +++ b/Code/GameLogic/RefManager.h @@ -0,0 +1,28 @@ +#ifndef REFMANAGER_H +#define REFMANAGER_H + +#include +#include "Object.h" +#include "PhysicsAPI.h" + +namespace GameLogic +{ + + + + class RefManager + { + public: + RefManager(void); + ~RefManager(void); + + Object* GetMap(Oyster::Physics::ICustomBody *body); + void AddMapping(Oyster::Physics::ICustomBody *body, Object *obj); + + + private: + std::map mapper; //shall be pointer from physics that map to an object + + }; +} +#endif \ No newline at end of file From 220f1da8b6bad87bd74a29a9b4f20c266c24436b Mon Sep 17 00:00:00 2001 From: Erik Persson Date: Tue, 26 Nov 2013 08:56:31 +0100 Subject: [PATCH 2/2] added GameMode class to level --- Code/GameLogic/GameMode.cpp | 15 +++++++++++++++ Code/GameLogic/GameMode.h | 17 +++++++++++++++++ Code/GameLogic/Level.h | 13 +++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 Code/GameLogic/GameMode.cpp create mode 100644 Code/GameLogic/GameMode.h diff --git a/Code/GameLogic/GameMode.cpp b/Code/GameLogic/GameMode.cpp new file mode 100644 index 00000000..0eddb7f9 --- /dev/null +++ b/Code/GameLogic/GameMode.cpp @@ -0,0 +1,15 @@ +#include "GameMode.h" + +using namespace GameLogic; + + +GameMode::GameMode(void) +{ + +} + + +GameMode::~GameMode(void) +{ + +} diff --git a/Code/GameLogic/GameMode.h b/Code/GameLogic/GameMode.h new file mode 100644 index 00000000..0187f4b7 --- /dev/null +++ b/Code/GameLogic/GameMode.h @@ -0,0 +1,17 @@ +#ifndef GAMEMODE_H +#define GAMEMODE_H + +namespace GameLogic +{ + + class GameMode + { + public: + GameMode(void); + ~GameMode(void); + private: + //variabels that control what game rules the level runs on + }; + +} +#endif \ No newline at end of file diff --git a/Code/GameLogic/Level.h b/Code/GameLogic/Level.h index 76414cff..6cfa50ee 100644 --- a/Code/GameLogic/Level.h +++ b/Code/GameLogic/Level.h @@ -1,6 +1,10 @@ #ifndef LEVEL_H #define LEVEL_H +#include "StaticObject.h" +#include "DynamicObject.h" +#include "GameMode.h" + namespace GameLogic { @@ -12,6 +16,15 @@ namespace GameLogic ~Level(void); private: + StaticObject** staticObjects; + int nrOfStaticObjects; + + DynamicObject** dynamicObjects; + int nrOfDynamicObjects; + + GameMode* gameMode; + + };