From 7b473856744c2912b39fc2bbb19bf0c8f5c27fc7 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Fri, 25 Sep 2015 05:30:31 +0200 Subject: [PATCH] Working NumberFrame and score indicator --- assets/Textures/GUI/Numbers/N0.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N1.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N2.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N3.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N4.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N5.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N6.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N7.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N8.png | Bin 0 -> 4733 bytes assets/Textures/GUI/Numbers/N9.png | Bin 0 -> 4733 bytes include/GUI/NumberFrame.h | 108 +++++++++++++++++++++++++++++ include/GUI/TextureFrame.h | 5 ++ include/Game/HUD.h | 16 +++++ include/Game/MainMenu.h | 4 +- 14 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 assets/Textures/GUI/Numbers/N0.png create mode 100644 assets/Textures/GUI/Numbers/N1.png create mode 100644 assets/Textures/GUI/Numbers/N2.png create mode 100644 assets/Textures/GUI/Numbers/N3.png create mode 100644 assets/Textures/GUI/Numbers/N4.png create mode 100644 assets/Textures/GUI/Numbers/N5.png create mode 100644 assets/Textures/GUI/Numbers/N6.png create mode 100644 assets/Textures/GUI/Numbers/N7.png create mode 100644 assets/Textures/GUI/Numbers/N8.png create mode 100644 assets/Textures/GUI/Numbers/N9.png create mode 100644 include/GUI/NumberFrame.h diff --git a/assets/Textures/GUI/Numbers/N0.png b/assets/Textures/GUI/Numbers/N0.png new file mode 100644 index 0000000000000000000000000000000000000000..82a7e0f1caf7ab3b50dc4b395dc96fdcad2de407 GIT binary patch literal 4733 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 Js}yP%_HS<#ArAlm literal 0 HcmV?d00001 diff --git a/assets/Textures/GUI/Numbers/N2.png b/assets/Textures/GUI/Numbers/N2.png new file mode 100644 index 0000000000000000000000000000000000000000..6dfe614e7e560fe97ef5a3b8f769dd094f96aed0 GIT binary patch literal 4733 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 literal 0 HcmV?d00001 diff --git a/assets/Textures/GUI/Numbers/N3.png b/assets/Textures/GUI/Numbers/N3.png new file mode 100644 index 0000000000000000000000000000000000000000..102112af5d210eb7afecdee161c1664dd786dbf9 GIT binary patch literal 4733 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 literal 0 HcmV?d00001 diff --git a/assets/Textures/GUI/Numbers/N5.png b/assets/Textures/GUI/Numbers/N5.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e3fb87f225a03a228b0780447f40258ff84b7d GIT binary patch literal 4733 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 a)kp$6O;~ck1}h3|ouaR8qE(2nz4l*nc95O` literal 0 HcmV?d00001 diff --git a/assets/Textures/GUI/Numbers/N6.png b/assets/Textures/GUI/Numbers/N6.png new file mode 100644 index 0000000000000000000000000000000000000000..67c9b0d75c376c20444df1b06b6fa10d2e0a4527 GIT binary patch literal 4733 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 GaQ(lVl2MHS literal 0 HcmV?d00001 diff --git a/assets/Textures/GUI/Numbers/N8.png b/assets/Textures/GUI/Numbers/N8.png new file mode 100644 index 0000000000000000000000000000000000000000..a7ec67a0d83bcebe2a9ce2dd32fa735a87058e07 GIT binary patch literal 4733 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 X$FgFN&_Py$i7fisCR!y>+mL?)<`(+D literal 0 HcmV?d00001 diff --git a/include/GUI/NumberFrame.h b/include/GUI/NumberFrame.h new file mode 100644 index 0000000..2d7c00c --- /dev/null +++ b/include/GUI/NumberFrame.h @@ -0,0 +1,108 @@ +#ifndef GUI_NUMBERFRAME_H__ +#define GUI_NUMBERFRAME_H__ + +#include "GUI/TextureFrame.h" + +namespace dd +{ +namespace GUI +{ + +class NumberFrame : public Frame +{ +public: + NumberFrame(Frame* parent, std::string name) + : Frame(parent, name) + { + m_NumberTextures[0] = "Textures/GUI/Numbers/N0.png"; + m_NumberTextures[1] = "Textures/GUI/Numbers/N1.png"; + m_NumberTextures[2] = "Textures/GUI/Numbers/N2.png"; + m_NumberTextures[3] = "Textures/GUI/Numbers/N3.png"; + m_NumberTextures[4] = "Textures/GUI/Numbers/N4.png"; + m_NumberTextures[5] = "Textures/GUI/Numbers/N5.png"; + m_NumberTextures[6] = "Textures/GUI/Numbers/N6.png"; + m_NumberTextures[7] = "Textures/GUI/Numbers/N7.png"; + m_NumberTextures[8] = "Textures/GUI/Numbers/N8.png"; + m_NumberTextures[9] = "Textures/GUI/Numbers/N9.png"; + SetNumber(0); + + // Create number frame if missing + for (int i = 0; i < 10; i++) { + auto frame = new GUI::TextureFrame(this, "NumberFrameDigit"); + frame->SetTexture(m_NumberTextures[0]); + frame->DisableScissor(); + // Position frame based on alignment + if (i > 0) { + frame->X = i * 20; + } + Width += frame->Width; + if (Height < frame->Height) { + Height = frame->Height; + } + m_NumberFrames.push_front(frame); + } + } + + int Number() const { return m_Number; } + void SetNumber(int number) + { + m_Number = number; + + // Clear number textures + //for (auto& frame : m_NumberFrames) { + // frame->SetTexture(""); + //} + + //Width = 0; + //Height = 0; + + int n = 0; + do { +// // Create number frame if missing +// if (m_NumberFrames.size() <= n) { +// auto frame = new GUI::TextureFrame(this, "NumberFrameDigit"); +// frame->DisableScissor(); +// m_NumberFrames.push_front(frame); +// } + + // Update value + int digit = number % 10; + m_NumberFrames[n]->SetTexture(m_NumberTextures[digit]); + //Width += m_NumberFrames[n]->Width; + //if (Height < m_NumberFrames[n]->Height) { + // Height = m_NumberFrames[n]->Height; + //} +// // Position frame based on alignment +// if (n > 0) { +// if (!m_LeftAligned) { +// m_NumberFrames[n]->SetLeft(m_NumberFrames[n - 1]->Right()); +// } else { +// m_NumberFrames[n]->SetRight(m_NumberFrames[n - 1]->Left()); +// } +// } + + number /= 10; + n++; + } while (number > 0); + } + + void SetLeftAlign() { m_LeftAligned = true; } + void SetRightAlign() { m_LeftAligned = false; } + + virtual void Update(double dt) override + { + + } + +private: + int m_Number = 0; + bool m_LeftAligned = true; + + std::string m_NumberTextures[10]; + std::deque m_NumberFrames; +}; + +} +} +#endif + diff --git a/include/GUI/TextureFrame.h b/include/GUI/TextureFrame.h index 0b2bb98..12f15c0 100644 --- a/include/GUI/TextureFrame.h +++ b/include/GUI/TextureFrame.h @@ -52,6 +52,11 @@ public: void SetTexture(std::string resourceName) { + if (resourceName.empty()) { + m_Texture = nullptr; + return; + } + m_Texture = ResourceManager::Load(resourceName); if (m_Texture == nullptr) { m_Texture = ResourceManager::Load("Textures/Core/ErrorTexture.png"); diff --git a/include/Game/HUD.h b/include/Game/HUD.h index e660a9e..def63bf 100644 --- a/include/Game/HUD.h +++ b/include/Game/HUD.h @@ -3,6 +3,9 @@ #include "GUI/Frame.h" #include "GUI/TextureFrame.h" +#include "GUI/NumberFrame.h" +#include "Core/EKeyUp.h" +#include "Game/EScoreEvent.h" namespace dd { @@ -24,11 +27,24 @@ public: m_ScoreIndicator = new GUI::TextureFrame(this, "HUDScoreIndicator"); m_ScoreIndicator->SetTexture("Textures/GUI/HUD/ScoreIndicatorBG.png"); m_ScoreIndicator->SetRight(Right()); + m_ScoreNumberFrame = new GUI::NumberFrame(m_ScoreIndicator, "HUDScoreNumberFrame"); + m_ScoreNumberFrame->X = 15; + m_ScoreNumberFrame->Y = 21; + + EVENT_SUBSCRIBE_MEMBER(m_EScore, &HUD::OnScore); } private: TextureFrame* m_LevelIndicator = nullptr; TextureFrame* m_ScoreIndicator = nullptr; + NumberFrame* m_ScoreNumberFrame = nullptr; + + EventRelay m_EScore; + + bool OnScore(const Events::ScoreEvent& event) + { + m_ScoreNumberFrame->SetNumber(event.Score); + } }; } diff --git a/include/Game/MainMenu.h b/include/Game/MainMenu.h index a9afe4c..fa629d3 100644 --- a/include/Game/MainMenu.h +++ b/include/Game/MainMenu.h @@ -34,7 +34,7 @@ public: m_MainMenuOptions->SetLeft(m_LeftBanner->Right()); m_MainMenuOptions->SetTop(m_MainMenuMain->Bottom()); - EVENT_SUBSCRIBE_MEMBER(m_EKeyUp, &MainMenu::OnKeyUp); + //EVENT_SUBSCRIBE_MEMBER(m_EKeyUp, &MainMenu::OnKeyUp); } private: @@ -42,7 +42,7 @@ private: MainMenuMain* m_MainMenuMain; MainMenuOptions* m_MainMenuOptions; - EventRelay m_EKeyUp; + //EventRelay m_EKeyUp; bool OnKeyUp(const Events::KeyUp& event) { if (event.KeyCode == GLFW_KEY_ESCAPE) {