From 68d516cc862e14c32a1887083680bc9b04dfb4e2 Mon Sep 17 00:00:00 2001 From: Linda Andersson Date: Wed, 20 Nov 2013 15:47:11 +0100 Subject: [PATCH] adding IGame interface --- Code/GameLogic/Game.cpp | 9 +++++- Code/GameLogic/Game.h | 22 ++++++------- Code/GameLogic/GameLogic.vcxproj | 39 ++++++++++++++++------- Code/GameLogic/GameLogic.vcxproj.filters | 40 ++++++++++++++++++++++++ Code/GameLogic/IGame.cpp | 36 +++++++++++++++++++++ Code/GameLogic/IGame.h | 31 ++++++++++++++++++ Code/Tester/Tester.vcxproj | 2 ++ GameLogic/Include/GameLogic.h | 1 + GameLogic/Level.cpp | 11 +++++++ GameLogic/Level.h | 10 ++++++ 10 files changed, 178 insertions(+), 23 deletions(-) create mode 100644 Code/GameLogic/IGame.cpp create mode 100644 Code/GameLogic/IGame.h create mode 100644 GameLogic/Include/GameLogic.h create mode 100644 GameLogic/Level.cpp create mode 100644 GameLogic/Level.h diff --git a/Code/GameLogic/Game.cpp b/Code/GameLogic/Game.cpp index 805e25b9..93c64c76 100644 --- a/Code/GameLogic/Game.cpp +++ b/Code/GameLogic/Game.cpp @@ -1,5 +1,4 @@ #include "Game.h" - using namespace GameLogic; Game::Game(void) @@ -15,3 +14,11 @@ void Game::Init() { } +void Game::StartGame() +{ + +} +void Game::Update() +{ + +} \ No newline at end of file diff --git a/Code/GameLogic/Game.h b/Code/GameLogic/Game.h index 122ffc7d..c5bb9664 100644 --- a/Code/GameLogic/Game.h +++ b/Code/GameLogic/Game.h @@ -8,20 +8,20 @@ namespace GameLogic { class Game { - - public: - Game(void); - ~Game(void); - - void Init(); - void StartGame(); - - void Update(); + private: + private: - Level *level; - Player *player; + GameLogic::Level *level; + GameLogic::Player *player; + public: + Game(); + ~Game(); + + void Init(); + void StartGame(); + void Update(); }; } diff --git a/Code/GameLogic/GameLogic.vcxproj b/Code/GameLogic/GameLogic.vcxproj index 900f0834..14b6c6fc 100644 --- a/Code/GameLogic/GameLogic.vcxproj +++ b/Code/GameLogic/GameLogic.vcxproj @@ -24,26 +24,26 @@ - StaticLibrary + DynamicLibrary true v110 MultiByte - StaticLibrary + DynamicLibrary true v110 MultiByte - StaticLibrary + DynamicLibrary false v110 true MultiByte - StaticLibrary + DynamicLibrary false v110 true @@ -66,22 +66,22 @@ - $(SolutionDir)..\External\Lib\$(ProjectName)\ + $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\ $(ProjectName)_$(PlatformShortName)D - $(SolutionDir)..\External\Lib\$(ProjectName)\ + $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\ $(ProjectName)_$(PlatformShortName) - $(SolutionDir)..\External\Lib\$(ProjectName)\ + $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\ $(ProjectName)_$(PlatformShortName)D - $(SolutionDir)..\External\Lib\$(ProjectName)\ + $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\ $(ProjectName)_$(PlatformShortName) @@ -91,6 +91,7 @@ Disabled true $(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories) + DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions) true @@ -102,6 +103,7 @@ Disabled true $(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories) + DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions) true @@ -115,6 +117,7 @@ true true $(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories) + DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions) true @@ -130,6 +133,7 @@ true true $(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories) + DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions) true @@ -138,9 +142,6 @@ - - {104fa3e9-94d9-4e1d-a941-28a03bc8a095} - {2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee} @@ -151,6 +152,22 @@ {4285bd3f-3c6c-4670-b7af-a29afef5f6a8} + + + + + + + + + + + + + + + + diff --git a/Code/GameLogic/GameLogic.vcxproj.filters b/Code/GameLogic/GameLogic.vcxproj.filters index d7ef6a1a..d69ec9ff 100644 --- a/Code/GameLogic/GameLogic.vcxproj.filters +++ b/Code/GameLogic/GameLogic.vcxproj.filters @@ -14,4 +14,44 @@ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + \ No newline at end of file diff --git a/Code/GameLogic/IGame.cpp b/Code/GameLogic/IGame.cpp new file mode 100644 index 00000000..141b05a7 --- /dev/null +++ b/Code/GameLogic/IGame.cpp @@ -0,0 +1,36 @@ +#include "IGame.h" +#include "Game.h" +#include + +BOOL WINAPI DllMain( + _In_ HINSTANCE hinstDLL, + _In_ DWORD fdwReason, + _In_ LPVOID lpvReserved + ) +{ + return TRUE; +} +using namespace GameLogic; +IGame::IGame() +{ + gameModule = new Game(); +} + + +IGame::~IGame() +{ + delete gameModule; +} + +void IGame::Init() +{ + gameModule->Init(); +} +void IGame::StartGame() +{ + gameModule->StartGame(); +} +void IGame::Update() +{ + gameModule->Update(); +} \ No newline at end of file diff --git a/Code/GameLogic/IGame.h b/Code/GameLogic/IGame.h new file mode 100644 index 00000000..199c4404 --- /dev/null +++ b/Code/GameLogic/IGame.h @@ -0,0 +1,31 @@ +#ifndef IGAME_H +#define IGAME_H + +#if defined DLL_EXPORT +#define DLL_USAGE __declspec(dllexport) +#else +#define DLL_USAGE __declspec(dllimport) +#endif + + +namespace GameLogic +{ + class Game; + + class DLL_USAGE IGame + { + private: + Game* gameModule; + public: + IGame(); + ~IGame(); + + void Init(); + void StartGame(); + void Update(); + private: + }; +} + + +#endif \ No newline at end of file diff --git a/Code/Tester/Tester.vcxproj b/Code/Tester/Tester.vcxproj index ac461ea2..fc20a803 100644 --- a/Code/Tester/Tester.vcxproj +++ b/Code/Tester/Tester.vcxproj @@ -122,6 +122,7 @@ true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true + ..\OysterGraphics;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories) Windows @@ -140,6 +141,7 @@ true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true + ..\OysterGraphics;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories) Windows diff --git a/GameLogic/Include/GameLogic.h b/GameLogic/Include/GameLogic.h new file mode 100644 index 00000000..a859a625 --- /dev/null +++ b/GameLogic/Include/GameLogic.h @@ -0,0 +1 @@ +//Interface for others \ No newline at end of file diff --git a/GameLogic/Level.cpp b/GameLogic/Level.cpp new file mode 100644 index 00000000..3f6b5fb9 --- /dev/null +++ b/GameLogic/Level.cpp @@ -0,0 +1,11 @@ +#include "Level.h" + + +Level::Level(void) +{ +} + + +Level::~Level(void) +{ +} diff --git a/GameLogic/Level.h b/GameLogic/Level.h new file mode 100644 index 00000000..a04bba4e --- /dev/null +++ b/GameLogic/Level.h @@ -0,0 +1,10 @@ +#pragma once +#include "GamePhysics.h" + +class Level +{ +public: + Level(void); + ~Level(void); +}; +