Created first version of UI Generator

This commit is contained in:
2023-02-04 00:31:31 -08:00
parent d8128f1513
commit a0c0e187d8
7 changed files with 609 additions and 216 deletions

View File

@ -1,58 +1,58 @@
// 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) {
}
std::vector<Asset*> SimpleVNScene::getRequiredAssets() {
auto assMan = &this->game->assetManager;
std::vector<Asset*> 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);
// Stage VN Items
this->vnStage();
// UI
this->canvas = UICanvas::create(this);
this->textbox = VisualNovelTextboxPrefab::create(this->canvas);
// VN Manager
auto vnManagerItem = this->createSceneItem();
this->vnManager = vnManagerItem->addComponent<VisualNovelManager>();
// Audio
auto listenerItem = this->createSceneItem();
this->audioListener = listenerItem->addComponent<AudioListener>();
auto audioBackgroundItem = this->createSceneItem();
vnManager->audioBackground = audioBackgroundItem->addComponent<AudioSource>();
auto audioCharacterItem = this->createSceneItem();
vnManager->audioCharacter = audioCharacterItem->addComponent<AudioSource>();
// Fader (Drawn over the top of everything else)
this->vnFader = VisualNovelFader::create(canvas);
// 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) {
}
std::vector<Asset*> SimpleVNScene::getRequiredAssets() {
auto assMan = &this->game->assetManager;
std::vector<Asset*> 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<VisualNovelManager>();
// Audio
auto listenerItem = this->createSceneItem();
this->audioListener = listenerItem->addComponent<AudioListener>();
auto audioBackgroundItem = this->createSceneItem();
vnManager->audioBackground = audioBackgroundItem->addComponent<AudioSource>();
auto audioCharacterItem = this->createSceneItem();
vnManager->audioCharacter = audioCharacterItem->addComponent<AudioSource>();
// Fader (Drawn over the top of everything else)
this->vnFader = VisualNovelFader::create(canvas);
}