// Copyright (c) 2022 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "SimpleVNScene.hpp" #include "prefabs/ui/VisualNovelTextboxPrefab.hpp" using namespace Dawn; SimpleVNScene::SimpleVNScene(DawnGame *game) : Scene(game) { } void SimpleVNScene::vnStage() { } std::vector SimpleVNScene::getRequiredAssets() { auto assMan = &this->game->assetManager; std::vector assets; vectorAppend(&assets, VisualNovelTextboxPrefab::getRequiredAssets(assMan)); return assets; } void SimpleVNScene::stage() { auto assMan = &this->game->assetManager; // Camera this->camera = Camera::create(this); this->camera->transform->lookAt( glm::vec3(0, 0, 2), glm::vec3(0, 0, 0) ); this->background = SimpleVisualNovelBackground::create(this); this->canvas = UICanvas::create(this); // Stage VN Items this->vnStage(); // UI this->textbox = VisualNovelTextboxPrefab::create(this->canvas); // VN Manager auto vnManagerItem = this->createSceneItem(); this->vnManager = vnManagerItem->addComponent(); // Audio auto listenerItem = this->createSceneItem(); this->audioListener = listenerItem->addComponent(); auto audioBackgroundItem = this->createSceneItem(); vnManager->audioBackground = audioBackgroundItem->addComponent(); auto audioCharacterItem = this->createSceneItem(); vnManager->audioCharacter = audioCharacterItem->addComponent(); // Fader (Drawn over the top of everything else) this->vnFader = VisualNovelFader::create(canvas); }