#include "MainMenuScene.h" #include "TransitionStartScript.h" #include "MainMenuConfig.h" #include "../ButtonSubScene.h" #include "../MenusConfig.h" #include "../../background/StartSubScene.h" #include "../../background/HallwaySubScene.h" #include "../../Config.h" #include "../endgame/EndGameSubScene.h" #include #include #include #include #include using namespace crepe; using namespace std; void MainMenuScene::load_scene(){ ButtonSubScene button; GameObject camera_object = this->new_object(CAMERA_NAME); camera_object.add_component(ivec2(990, 720), vec2(1100, 800), Camera::Data{ .bg_color = Color::RED, }); camera_object.add_component().set_script(); //Button menu GameObject menu_button = this->new_object(MENU_BUTTON_NAME,MENU_BUTTON_NAME,MENU_OFFSET); menu_button.add_component( Asset("asset/ui/background.png"), Sprite::Data{ .sorting_in_layer = STARTING_SORTING_IN_LAYER+0, .size = {300,860}, .position_offset = MENU_OFFSET_BUTTON_BACKGROUND, }); vec2 pos_btn = MENU_OFFSET_BUTTON; //Preview btn button.create(*this,ButtonSubScene::Data{ .text = "PREVIEW", .text_width = 200, .position = pos_btn, .script_type = ButtonSubScene::ScriptSelect::PREVIEW, }); //Shop btn pos_btn.y += MENU_BUTTON_SPACING + LARGE_OVERLAY_SIZE.y; button.create(*this,ButtonSubScene::Data{ .text = "SHOP", .text_offset = {-20,0}, .text_width = 115, .icon_offset = {60,0}, .icon_type = ButtonSubScene::IconSelect::SHOP, .position = pos_btn, .script_type = ButtonSubScene::ScriptSelect::SHOP, }); //Start of map StartSubScene start; HallwaySubScene hallway; float begin_x = start.create(*this, STARTMAP_OFFSET); begin_x = hallway.create(*this, begin_x, 1, Color::YELLOW); //INFO menu GameObject menu_info = this->new_object("MENU_INFO_BACKGROUND",MENU_INFO_TAG,MENU_OFFSET); menu_info.add_component( Asset("asset/ui/itemsButtonBlankDark.png"), Sprite::Data{ .sorting_in_layer = STARTING_SORTING_IN_LAYER+0, .size = {250,80}, .position_offset = MENU_OFFSET_INFO, .world_space = false, }); SaveManager & savemgr = this->get_save_manager(); string number = std::to_string(savemgr.get(TOTAL_COINS_GAME,0).get()); float amount_number = static_cast(number.size()); // savemgr.set(COIN_GAME_AMOUNT, amount); button.create(*this,ButtonSubScene::Data{ .text = number, .text_offset = {-10-(amount_number-1)*10,0}, .text_width = amount_number*20, .icon_offset = {60,0}, .icon_type = ButtonSubScene::IconSelect::COINS, .position = MENU_OFFSET_INFO, .script_type = ButtonSubScene::ScriptSelect::SHOP, .scale = 0.6, .worldspace = false, .color_side = false, .tag = MENU_INFO_TAG, }); EndGameSubScene test; test.create(*this); } string MainMenuScene::get_name() const { return MAINMENU_SCENE; }