#include "CreditsSubScene.h" #include "CreditsSubScript.h" #include "../../Config.h" #include "../ButtonSubScene.h" #include "../FloatingWindowSubScene.h" #include #include #include #include #include using namespace crepe; using namespace std; void CreditsSubScene::create(Scene & scn) { const std::string TAG = "credits_tag"; GameObject script = scn.new_object("script"); script.add_component().set_script(TAG); // Window FloatingWindowSubScene window; window.create( scn, FloatingWindowSubScene::Data { .group_tag = TAG, .width = 500, .offset = {150, -50}, .width_middle_offset = -2, } ); // Titel const string TITEL_STRING = "Credits"; GameObject titel = scn.new_object("titel", TAG); crepe::vec2 size = {200, (200.0f / TITEL_STRING.size()) * 2}; titel.add_component( size, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207} + FONTOFFSET, TITEL_STRING ); // Buttons vec2 button_position = {190, 190}; ButtonSubScene button; button.create( scn, ButtonSubScene::Data { .text = "Back", .text_width = 150, .position = {-button_position.x+150, button_position.y}, .script_type = ButtonSubScene::ScriptSelect::CREDITS_BACK, .button_type = ButtonSubScene::ButtonSelect::BACK, .scale = 0.6, .worldspace = false, .tag = TAG, .sorting_layer_offset = 20, } ); const float SIZE_CHAR_NAMES = 10; const float Y_OFFSET_NAMES_BEGIN = 100; const float Y_OFFSET_NAMES = 30; const string LOEK = "Loek Le Blansch"; crepe::vec2 size_loek = {LOEK.size()*SIZE_CHAR_NAMES, (LOEK.size()*SIZE_CHAR_NAMES / LOEK.size()) * 2}; titel.add_component( size_loek, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207+Y_OFFSET_NAMES+Y_OFFSET_NAMES_BEGIN} + FONTOFFSET, LOEK ); const string WOUTER = "Wouter Boerenkamps"; crepe::vec2 size_wouter = {WOUTER.size()*SIZE_CHAR_NAMES, (WOUTER.size()*SIZE_CHAR_NAMES / WOUTER.size()) * 2}; titel.add_component( size_wouter, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207+Y_OFFSET_NAMES*2+Y_OFFSET_NAMES_BEGIN} + FONTOFFSET, WOUTER ); const string JARO = "Jaro Rutjes"; crepe::vec2 size_jaro = {JARO.size()*SIZE_CHAR_NAMES, (JARO.size()*SIZE_CHAR_NAMES / JARO.size()) * 2}; titel.add_component( size_jaro, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207+Y_OFFSET_NAMES*3+Y_OFFSET_NAMES_BEGIN} + FONTOFFSET, JARO ); const string MAX = "Max Smits"; crepe::vec2 size_max = {MAX.size()*SIZE_CHAR_NAMES, (MAX.size()*SIZE_CHAR_NAMES / MAX.size()) * 2}; titel.add_component( size_max, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207+Y_OFFSET_NAMES*4+Y_OFFSET_NAMES_BEGIN} + FONTOFFSET, MAX ); const string NIELS = "Niels Stunnebrink"; crepe::vec2 size_niels = {NIELS.size()*SIZE_CHAR_NAMES, (NIELS.size()*SIZE_CHAR_NAMES / NIELS.size()) * 2}; titel.add_component( size_niels, FONT, Text::Data { .world_space = false, .text_color = Color::WHITE, }, vec2 {150, -207+Y_OFFSET_NAMES*5+Y_OFFSET_NAMES_BEGIN} + FONTOFFSET, NIELS ); }