aboutsummaryrefslogtreecommitdiff
path: root/game/menus/endgame/EndGameSubScene.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/menus/endgame/EndGameSubScene.cpp')
-rw-r--r--game/menus/endgame/EndGameSubScene.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/game/menus/endgame/EndGameSubScene.cpp b/game/menus/endgame/EndGameSubScene.cpp
new file mode 100644
index 0000000..41556af
--- /dev/null
+++ b/game/menus/endgame/EndGameSubScene.cpp
@@ -0,0 +1,70 @@
+
+#include "EndGameSubScene.h"
+#include "../FloatingWindowSubScene.h"
+#include "../ButtonSubScene.h"
+#include <crepe/api/Text.h>
+#include <string>
+#include <crepe/api/GameObject.h>
+#include <crepe/api/BehaviorScript.h>
+#include "EndGameSubScript.h"
+#include "types.h"
+#include "../../Config.h"
+
+using namespace crepe;
+using namespace std;
+
+void EndGameSubScene::create(Scene & scn){
+
+ const std::string TAG = "end_game_tag";
+ GameObject script = scn.new_object("script");
+ script.add_component<BehaviorScript>().set_script<EndGameSubScript>(TAG);
+
+ // Window
+ FloatingWindowSubScene window;
+ window.create(scn, FloatingWindowSubScene::Data{
+ .group_tag = TAG,
+ .width = 500,
+ .offset = {0,-50},
+ .width_middle_offset = -2,
+ });
+
+ // Titel
+ const string TITEL_STRING = "GAME OVER";
+ GameObject titel = scn.new_object("titel",TAG);
+ crepe::vec2 size = {200,(200.0f/TITEL_STRING.size())*2};
+ titel.add_component<Text>(size, FONT,Text::Data{
+ .world_space = false,
+ .text_color = Color::WHITE,
+ }, vec2{0,-207}+FONTOFFSET, TITEL_STRING);
+
+
+ // Buttons
+ vec2 button_position = {190,190};
+ ButtonSubScene button;
+ button.create(scn,ButtonSubScene::Data{
+ .text = "NEXT",
+ .text_width = 100,
+ .position = button_position,
+ .script_type = ButtonSubScene::ScriptSelect::MAINMENU,
+ .button_type = ButtonSubScene::ButtonSelect::NEXT,
+ .scale = 0.6,
+ .worldspace = false,
+ .tag = TAG,
+ .sorting_layer_offset = 20,
+ });
+
+ button.create(scn,ButtonSubScene::Data{
+ .text = "REPLAY",
+ .text_width = 150,
+ .position = {-button_position.x,button_position.y},
+ // .script_type = ButtonSubScene::ScriptSelect::MAINMENU,
+ .button_type = ButtonSubScene::ButtonSelect::BACK,
+ .scale = 0.6,
+ .worldspace = false,
+ .tag = TAG,
+ .sorting_layer_offset = 20,
+ });
+
+}
+
+