aboutsummaryrefslogtreecommitdiff
path: root/game
diff options
context:
space:
mode:
authorJAROWMR <jarorutjes07@gmail.com>2025-01-06 19:09:52 +0100
committerJAROWMR <jarorutjes07@gmail.com>2025-01-06 19:09:52 +0100
commit867414de0e2e963b0d1c35b3a46884a8a03a9294 (patch)
tree6836bb893229f897ed507b3102e64904363b53c9 /game
parent4c83562ef39a0364cd01f1f3615eb7672ca9f4a2 (diff)
popup window
Diffstat (limited to 'game')
-rw-r--r--game/CMakeLists.txt1
-rw-r--r--game/menus/ButtonSubScene.cpp5
-rw-r--r--game/menus/ButtonSubScene.h3
-rw-r--r--game/menus/endgame/EndGameSubScene.cpp163
-rw-r--r--game/menus/endgame/EndGameSubScene.h12
-rw-r--r--game/menus/mainmenu/MainMenuScene.cpp7
-rw-r--r--game/menus/shop/ShopMenuScene.cpp4
7 files changed, 190 insertions, 5 deletions
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 949312f..4c5bd53 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -32,6 +32,7 @@ add_executable(main
menus/mainmenu/ITransitionScript.cpp
menus/mainmenu/MainMenuScene.cpp
menus/mainmenu/TransitionStartScript.cpp
+ menus/endgame/EndGameSubScene.cpp
coins/CoinSubScene.cpp
coins/CoinPool.cpp
coins/CoinSystemScript.cpp
diff --git a/game/menus/ButtonSubScene.cpp b/game/menus/ButtonSubScene.cpp
index 6aad352..d735d08 100644
--- a/game/menus/ButtonSubScene.cpp
+++ b/game/menus/ButtonSubScene.cpp
@@ -80,7 +80,10 @@ void ButtonSubScene::set_button_overlay(crepe::GameObject & button_object,const
case ButtonSelect::LARGE:
this->large_btn_overlay(button_object,data);
break;
- case ButtonSelect::SMALL:
+ case ButtonSelect::BACK:
+ this->small_btn_overlay(button_object,data);
+ break;
+ case ButtonSelect::NEXT:
this->small_btn_overlay(button_object,data);
break;
}
diff --git a/game/menus/ButtonSubScene.h b/game/menus/ButtonSubScene.h
index 5609ecb..6781d19 100644
--- a/game/menus/ButtonSubScene.h
+++ b/game/menus/ButtonSubScene.h
@@ -25,7 +25,8 @@ public:
};
//icon enum
enum class ButtonSelect {
- SMALL,
+ BACK,
+ NEXT,
LARGE,
};
//data struct
diff --git a/game/menus/endgame/EndGameSubScene.cpp b/game/menus/endgame/EndGameSubScene.cpp
new file mode 100644
index 0000000..029bf1c
--- /dev/null
+++ b/game/menus/endgame/EndGameSubScene.cpp
@@ -0,0 +1,163 @@
+
+#include "EndGameSubScene.h"
+
+#include "../MenusConfig.h"
+#include "../../Config.h"
+#include "api/GameObject.h"
+#include "api/Scene.h"
+#include "api/Sprite.h"
+
+#include <crepe/api/Camera.h>
+
+using namespace crepe;
+using namespace std;
+
+void EndGameSubScene::create(Scene & scn){
+ const vec2 SIZE = {200,100};
+ const float THICKNESS_BANNER = 34;
+ const float MIDDLE_OFFSET_FACTOR_TICKNESS = 0.83;
+ const float MIDDLE_OFFSET_FACTOR_OFFSET = 1.2;
+ const float MIDDLE_OFFSET_TICKNESS_ADDITION = -8;
+ const float MIDDLE_OFFSET_OFFSET_ADDITION = -0.5;
+ const float BOTTOM_OFFSET_X = 3;
+ const float BOTTOM_OFFSET_Y = -5;
+
+ GameObject endgame = scn.new_object("EndGameSubScene");
+
+ // Top_middle
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_middle_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {SIZE.x,THICKNESS_BANNER},
+ .position_offset = {0,0},
+ });
+
+ // Top_Left
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_left_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {-SIZE.x/2-THICKNESS_BANNER/2,0},
+ });
+
+ // Top_Right
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_right_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {SIZE.x/2+THICKNESS_BANNER/2,0},
+ });
+
+ // Top_middle_2
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_2_middle_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {SIZE.x,THICKNESS_BANNER},
+ .position_offset = {0,THICKNESS_BANNER},
+ });
+
+ // Top_Left_2
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_2_left_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {-SIZE.x/2-THICKNESS_BANNER/2,THICKNESS_BANNER},
+ });
+
+ // Top_Right_2
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_2_right_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {SIZE.x/2+THICKNESS_BANNER/2,THICKNESS_BANNER},
+ });
+
+ // Top_middle_3
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_3_middle_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {SIZE.x,THICKNESS_BANNER},
+ .position_offset = {0,THICKNESS_BANNER*2},
+ });
+
+ // Top_Left_3
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_3_left_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {-SIZE.x/2-THICKNESS_BANNER/2,THICKNESS_BANNER*2},
+ });
+
+ // Top_Right_3
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/top_3_right_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER,THICKNESS_BANNER},
+ .position_offset = {SIZE.x/2+THICKNESS_BANNER/2,THICKNESS_BANNER*2},
+ });
+
+ // Middle_Mid
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/middle_mid_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+7,
+ .size = {SIZE.x*MIDDLE_OFFSET_FACTOR_OFFSET+MIDDLE_OFFSET_TICKNESS_ADDITION,SIZE.y},
+ .position_offset = {0,THICKNESS_BANNER*3+SIZE.y/2-THICKNESS_BANNER/2},
+ });
+
+ // Middle_Left
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/middle_left_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS,SIZE.y},
+ .position_offset = {-SIZE.x/2-THICKNESS_BANNER/2*MIDDLE_OFFSET_FACTOR_OFFSET-MIDDLE_OFFSET_OFFSET_ADDITION,THICKNESS_BANNER*3+SIZE.y/2-THICKNESS_BANNER/2},
+ });
+
+ // Middle_Right
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/middle_right_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS,SIZE.y},
+ .position_offset = {SIZE.x/2+THICKNESS_BANNER/2*MIDDLE_OFFSET_FACTOR_OFFSET+MIDDLE_OFFSET_OFFSET_ADDITION,THICKNESS_BANNER*3+SIZE.y/2-THICKNESS_BANNER/2},
+ });
+
+ // Bot_Middle
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/bot_middle_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+7,
+ .size = {SIZE.x*MIDDLE_OFFSET_FACTOR_OFFSET+MIDDLE_OFFSET_TICKNESS_ADDITION,THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS},
+ .position_offset = {0,THICKNESS_BANNER*3+SIZE.y-5},
+ });
+
+ // Bot_Left
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/bot_left_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS,THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS},
+ .position_offset = {-SIZE.x/2-THICKNESS_BANNER/2-BOTTOM_OFFSET_X,THICKNESS_BANNER*3+SIZE.y+BOTTOM_OFFSET_Y},
+ });
+
+ // Bot_Right
+ endgame.add_component<Sprite>(
+ Asset("asset/ui/settings_container/bot_right_setting.png"),
+ Sprite::Data{
+ .sorting_in_layer = STARTING_SORTING_IN_LAYER+8,
+ .size = {THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS,THICKNESS_BANNER*MIDDLE_OFFSET_FACTOR_TICKNESS},
+ .position_offset = {SIZE.x/2+THICKNESS_BANNER/2+BOTTOM_OFFSET_X,THICKNESS_BANNER*3+SIZE.y+BOTTOM_OFFSET_Y},
+ });
+}
+
+
diff --git a/game/menus/endgame/EndGameSubScene.h b/game/menus/endgame/EndGameSubScene.h
new file mode 100644
index 0000000..5c727a7
--- /dev/null
+++ b/game/menus/endgame/EndGameSubScene.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "Component.h"
+#include <string>
+
+#include <crepe/api/Scene.h>
+#include <vector>
+
+class EndGameSubScene {
+public:
+ void create(crepe::Scene & scn);
+};
diff --git a/game/menus/mainmenu/MainMenuScene.cpp b/game/menus/mainmenu/MainMenuScene.cpp
index fcbd43f..a515b45 100644
--- a/game/menus/mainmenu/MainMenuScene.cpp
+++ b/game/menus/mainmenu/MainMenuScene.cpp
@@ -10,6 +10,8 @@
#include "../../background/HallwaySubScene.h"
#include "../../Config.h"
+#include "../endgame/EndGameSubScene.h"
+
#include <crepe/api/BehaviorScript.h>
#include <crepe/api/GameObject.h>
#include <crepe/api/Sprite.h>
@@ -97,6 +99,9 @@ void MainMenuScene::load_scene(){
.tag = MENU_INFO_TAG,
});
+ EndGameSubScene test;
+ test.create(*this);
+
}
-string MainMenuScene::get_name() const { return "mainmenu"; }
+string MainMenuScene::get_name() const { return MAINMENU_SCENE; }
diff --git a/game/menus/shop/ShopMenuScene.cpp b/game/menus/shop/ShopMenuScene.cpp
index d35d296..6c88dc8 100644
--- a/game/menus/shop/ShopMenuScene.cpp
+++ b/game/menus/shop/ShopMenuScene.cpp
@@ -38,9 +38,9 @@ void ShopMenuScene::load_scene(){
.text_width = 115,
.position = {-400,-350},
.script_type = ButtonSubScene::ScriptSelect::MAINMENU,
- .button_type = ButtonSubScene::ButtonSelect::SMALL,
+ .button_type = ButtonSubScene::ButtonSelect::BACK,
.scale = 0.8
});
}
-string ShopMenuScene::get_name() const { return "shopmenu"; }
+string ShopMenuScene::get_name() const { return SHOP_SCENE; }