diff options
| -rw-r--r-- | game/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | game/menus/ButtonSubScene.cpp | 5 | ||||
| -rw-r--r-- | game/menus/ButtonSubScene.h | 3 | ||||
| -rw-r--r-- | game/menus/endgame/EndGameSubScene.cpp | 163 | ||||
| -rw-r--r-- | game/menus/endgame/EndGameSubScene.h | 12 | ||||
| -rw-r--r-- | game/menus/mainmenu/MainMenuScene.cpp | 7 | ||||
| -rw-r--r-- | game/menus/shop/ShopMenuScene.cpp | 4 | 
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; } |