From 8c2a665ccb99b17b5daa18ab059daffb9fc123ad Mon Sep 17 00:00:00 2001 From: Tleety Date: Sat, 12 Mar 2016 15:45:07 +0100 Subject: [PATCH] Some Entities for endscreen and some basic logic in the EndScreenSystem --- include/Game/Systems/EndScreenSystem.h | 21 +++++ include/Game/Systems/WinScreenSystem.h | 17 ---- resources/Schema/Components.xsd | 1 + resources/Schema/Components/EndScreen.xml | 3 + resources/Schema/Components/EndScreen.xsd | 10 +++ resources/Schema/Entities/EndScreen.xml | 88 +++++++++++++++++++ resources/Schema/Entities/ScoreBoard_Main.xml | 15 +++- resources/Schema/Types/Entity.xsd | 1 + src/Game/Systems/EndScreenSystem.cpp | 18 ++++ src/Game/Systems/WinScreenSystem.cpp | 12 --- 10 files changed, 154 insertions(+), 32 deletions(-) create mode 100644 include/Game/Systems/EndScreenSystem.h delete mode 100644 include/Game/Systems/WinScreenSystem.h create mode 100644 resources/Schema/Components/EndScreen.xml create mode 100644 resources/Schema/Components/EndScreen.xsd create mode 100644 resources/Schema/Entities/EndScreen.xml create mode 100644 src/Game/Systems/EndScreenSystem.cpp delete mode 100644 src/Game/Systems/WinScreenSystem.cpp diff --git a/include/Game/Systems/EndScreenSystem.h b/include/Game/Systems/EndScreenSystem.h new file mode 100644 index 00000000..ec4702ca --- /dev/null +++ b/include/Game/Systems/EndScreenSystem.h @@ -0,0 +1,21 @@ +#ifndef EndScreenSystem_h__ +#define EndScreenSystem_h__ + +#include "Core/System.h" +#include "Input/EInputCommand.h" +#include "Rendering/ESetCamera.h" +#include "Core/EWin.h" + +class EndScreenSystem : public ImpureSystem +{ +public: + EndScreenSystem(SystemParams params); + + virtual void Update(double dt) override; + +private: + EventRelay m_EWin; + bool OnWin(const Events::Win&); +}; + +#endif \ No newline at end of file diff --git a/include/Game/Systems/WinScreenSystem.h b/include/Game/Systems/WinScreenSystem.h deleted file mode 100644 index 2563b4b5..00000000 --- a/include/Game/Systems/WinScreenSystem.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef WinScreenSystem_h__ -#define WinScreenSystem_h__ - -#include "Core/System.h" -#include "Input/EInputCommand.h" - -class WinScreenSystem : public ImpureSystem -{ -public: - WinScreenSystem(SystemParams params); - - virtual void Update(double dt) override; - -private: -}; - -#endif \ No newline at end of file diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd index bc6da932..f124272f 100644 --- a/resources/Schema/Components.xsd +++ b/resources/Schema/Components.xsd @@ -68,4 +68,5 @@ + \ No newline at end of file diff --git a/resources/Schema/Components/EndScreen.xml b/resources/Schema/Components/EndScreen.xml new file mode 100644 index 00000000..8a556256 --- /dev/null +++ b/resources/Schema/Components/EndScreen.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/Schema/Components/EndScreen.xsd b/resources/Schema/Components/EndScreen.xsd new file mode 100644 index 00000000..9056f210 --- /dev/null +++ b/resources/Schema/Components/EndScreen.xsd @@ -0,0 +1,10 @@ + + + + + + + Put this on the camera that will show the final screen. + + + \ No newline at end of file diff --git a/resources/Schema/Entities/EndScreen.xml b/resources/Schema/Entities/EndScreen.xml new file mode 100644 index 00000000..11ddc201 --- /dev/null +++ b/resources/Schema/Entities/EndScreen.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + true + + false + + + + + + + + + + + Blue team win! + Fonts/DroidSans.ttf,64 + false + + + + + + + + + + + + Red team win! + Fonts/DroidSans.ttf,64 + + + + + + + + + + + + Models/Core/UnitQuad.mesh + + Textures/Core/White.png + true + + + + + + + + + + + + + + + diff --git a/resources/Schema/Entities/ScoreBoard_Main.xml b/resources/Schema/Entities/ScoreBoard_Main.xml index ccc1df68..48d0782f 100644 --- a/resources/Schema/Entities/ScoreBoard_Main.xml +++ b/resources/Schema/Entities/ScoreBoard_Main.xml @@ -20,10 +20,10 @@ + - @@ -44,7 +44,7 @@ - + Schema/Entities/ScoreBoard_Red.xml @@ -55,7 +55,7 @@ - + Schema/Entities/ScoreBoard_Blue.xml @@ -63,6 +63,15 @@ + + + + Schema/Entities/EndScreen.xml + + + + + diff --git a/resources/Schema/Types/Entity.xsd b/resources/Schema/Types/Entity.xsd index c0ac15aa..2d24590c 100644 --- a/resources/Schema/Types/Entity.xsd +++ b/resources/Schema/Types/Entity.xsd @@ -71,6 +71,7 @@ + diff --git a/src/Game/Systems/EndScreenSystem.cpp b/src/Game/Systems/EndScreenSystem.cpp new file mode 100644 index 00000000..e750cca3 --- /dev/null +++ b/src/Game/Systems/EndScreenSystem.cpp @@ -0,0 +1,18 @@ +#include "Systems/EndScreenSystem.h" + + +EndScreenSystem::EndScreenSystem(SystemParams params) + : System(params) +{ + EVENT_SUBSCRIBE_MEMBER(m_EWin, &EndScreenSystem::OnWin); +} + +void EndScreenSystem::Update(double dt) +{ + +} + +bool EndScreenSystem::OnWin(const Events::Win&) +{ + +} diff --git a/src/Game/Systems/WinScreenSystem.cpp b/src/Game/Systems/WinScreenSystem.cpp deleted file mode 100644 index 97cc0747..00000000 --- a/src/Game/Systems/WinScreenSystem.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "Systems/WinScreenSystem.h" -#include "Rendering/ESetCamera.h" -#include "Core/ELockMouse.h" - -WinScreenSystem::WinScreenSystem(SystemParams params) - : System(params) -{ -} - -void WinScreenSystem::Update(double dt) -{ -} \ No newline at end of file