Various changes
This commit is contained in:
@ -6,7 +6,5 @@
|
||||
# Sources
|
||||
target_sources(${DAWN_TARGET_NAME}
|
||||
PRIVATE
|
||||
PixelVNScene.cpp
|
||||
PokerVNScene.cpp
|
||||
TestUIScene.cpp
|
||||
)
|
@ -1,28 +0,0 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "PixelVNScene.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
PixelVNScene::PixelVNScene(DawnGame *game) :
|
||||
SimpleVNScene(game),
|
||||
renderTarget(1280, 720)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> PixelVNScene::getRequiredAssets() {
|
||||
auto assMan = &this->game->assetManager;
|
||||
std::vector<Asset*> assets;
|
||||
vectorAppend(&assets, SimpleVNScene::getRequiredAssets());
|
||||
return assets;
|
||||
}
|
||||
|
||||
void PixelVNScene::vnStage() {
|
||||
this->renderTarget.setClearColor(COLOR_RED);
|
||||
// this->camera->setRenderTarget(&this->renderTarget);
|
||||
auto pixelPerfectCamera = this->camera->item->addComponent<PixelPerfectCamera>();
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "display/TextureRenderTarget.hpp"
|
||||
#include "game/DawnGame.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class PixelVNScene : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override;
|
||||
|
||||
public:
|
||||
TextureRenderTarget renderTarget;
|
||||
|
||||
/**
|
||||
* Create a simple Poker Visual Novel Scene. Simplifies some of the less
|
||||
* interesting parts of a poker VN game.
|
||||
*
|
||||
* @param game Game that this poker scene belongs to.
|
||||
*/
|
||||
PixelVNScene(DawnGame *game);
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override;
|
||||
};
|
||||
}
|
@ -7,20 +7,20 @@
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
PokerVNScene::PokerVNScene(DawnGame *game) : PixelVNScene(game) {
|
||||
PokerVNScene::PokerVNScene(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> PokerVNScene::getRequiredAssets() {
|
||||
auto assMan = &this->game->assetManager;
|
||||
std::vector<Asset*> assets;
|
||||
vectorAppend(&assets, PixelVNScene::getRequiredAssets());
|
||||
vectorAppend(&assets, SimpleVNScene::getRequiredAssets());
|
||||
vectorAppend(&assets, PokerPlayerDisplay::getAssets(assMan));
|
||||
return assets;
|
||||
}
|
||||
|
||||
void PokerVNScene::vnStage() {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
auto pokerGameItem = this->createSceneItem();
|
||||
this->pokerGame = pokerGameItem->addComponent<PokerGame>();
|
||||
|
||||
|
@ -4,14 +4,14 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "poker/PokerGame.hpp"
|
||||
#include "visualnovel/events/PokerBetLoopEvent.hpp"
|
||||
#include "visualnovel/events/PokerInitialEvent.hpp"
|
||||
#include "ui/PokerPlayerDisplay.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class PokerVNScene : public PixelVNScene {
|
||||
class PokerVNScene : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override;
|
||||
std::vector<Asset*> getRequiredAssets() override;
|
||||
|
@ -4,7 +4,7 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_2.hpp"
|
||||
#include "prefabs/characters/DeathPrefab.hpp"
|
||||
#include "visualnovel/events/characters/VisualNovelFadeCharacterEvent.hpp"
|
||||
@ -12,18 +12,17 @@
|
||||
#include "visualnovel/events/timing/VisualNovelBatchEvent.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_1 : public PixelVNScene {
|
||||
class Scene_1 : public SimpleVNScene {
|
||||
protected:
|
||||
DeathPrefab *death;
|
||||
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
this->death = DeathPrefab::create(this);
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_2>(this->game);
|
||||
auto scene = new Scene_2(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -33,13 +32,13 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_1(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_1(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
auto man = &this->game->assetManager;
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
vectorAppend(&assets, DeathPrefab::getRequiredAssets(man));
|
||||
assets.push_back(man->get<AudioAsset>("audio_test"));
|
||||
return assets;
|
||||
@ -48,7 +47,7 @@ namespace Dawn {
|
||||
IVisualNovelEvent * getVNEvent() override {
|
||||
auto start = new VisualNovelPauseEvent(vnManager, 0.1f);
|
||||
start
|
||||
->then(new VisualNovelTextboxEvent(vnManager, this->death->vnCharacter, this->death->emotionDefault, "scene.1.1"))
|
||||
->then(new VisualNovelTextboxEvent(vnManager, this->death->vnCharacter, this->death->emotionHappy, "scene.1.1"))
|
||||
// ->then(new VisualNovelCallbackEvent<Scene_1>(vnManager, this, &Scene_1::onSceneEnded))
|
||||
;
|
||||
return start;
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_11.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_10 : public PixelVNScene {
|
||||
class Scene_10 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_11>(this->game);
|
||||
auto scene = new Scene_11(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_10(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_10(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_12.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_11 : public PixelVNScene {
|
||||
class Scene_11 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_12>(this->game);
|
||||
auto scene = new Scene_12(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_11(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_11(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_13>(this->game);
|
||||
auto scene = new Scene_13(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_14.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_13 : public PixelVNScene {
|
||||
class Scene_13 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_14>(this->game);
|
||||
auto scene = new Scene_14(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_13(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_13(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_15.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_14 : public PixelVNScene {
|
||||
class Scene_14 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_15>(this->game);
|
||||
auto scene = new Scene_15(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_14(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_14(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_16.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_15 : public PixelVNScene {
|
||||
class Scene_15 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_16>(this->game);
|
||||
auto scene = new Scene_16(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_15(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_15(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_17.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_16 : public PixelVNScene {
|
||||
class Scene_16 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_17>(this->game);
|
||||
auto scene = new Scene_17(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -24,11 +24,11 @@ namespace Dawn {
|
||||
this->game->sceneCutover(scene);
|
||||
}
|
||||
public:
|
||||
Scene_16(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_16(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_18>(this->game);
|
||||
auto scene = new Scene_18(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
|
@ -4,24 +4,24 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_18 : public PixelVNScene {
|
||||
class Scene_18 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_18(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_18(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_3.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_2 : public PixelVNScene {
|
||||
class Scene_2 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_3>(this->game);
|
||||
auto scene = new Scene_3(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,12 +25,12 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_2(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_2(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_4.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_3 : public PixelVNScene {
|
||||
class Scene_3 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_4>(this->game);
|
||||
auto scene = new Scene_4(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,12 +25,12 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_3(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_3(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_5>(this->game);
|
||||
auto scene = new Scene_5(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_6.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_5 : public PixelVNScene {
|
||||
class Scene_5 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_6>(this->game);
|
||||
auto scene = new Scene_6(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,12 +25,12 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_5(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_5(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_7.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_6 : public PixelVNScene {
|
||||
class Scene_6 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_7>(this->game);
|
||||
auto scene = new Scene_7(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,12 +25,12 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_6(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_6(DawnGame *game) : SimpleVNScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_8.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_7 : public PixelVNScene {
|
||||
class Scene_7 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_8>(this->game);
|
||||
auto scene = new Scene_8(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_7(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_7(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_9>(this->game);
|
||||
auto scene = new Scene_9(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
|
@ -4,18 +4,18 @@
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scenes/PixelVNScene.hpp"
|
||||
#include "visualnovel/scene/SimpleVNScene.hpp"
|
||||
#include "scenes/Scene_10.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class Scene_9 : public PixelVNScene {
|
||||
class Scene_9 : public SimpleVNScene {
|
||||
protected:
|
||||
void vnStage() override {
|
||||
PixelVNScene::vnStage();
|
||||
|
||||
}
|
||||
|
||||
void onSceneEnded() {
|
||||
auto scene = new SubSceneRendererScene<Scene_10>(this->game);
|
||||
auto scene = new Scene_10(this->game);
|
||||
game->assetManager.queueSwap(
|
||||
scene->getRequiredAssets(), this->getRequiredAssets()
|
||||
);
|
||||
@ -25,11 +25,11 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
public:
|
||||
Scene_9(DawnGame *game) : PixelVNScene(game) {
|
||||
Scene_9(DawnGame *game) : SimpleVNScene(game) {
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
|
||||
std::vector<Asset*> assets = SimpleVNScene::getRequiredAssets();
|
||||
return assets;
|
||||
}
|
||||
|
||||
|
@ -1,54 +0,0 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scene/Scene.hpp"
|
||||
#include "game/DawnGame.hpp"
|
||||
#include "scene/components/display/material/SimpleTexturedMaterial.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
template<class T>
|
||||
class SubSceneRendererScene : public Scene {
|
||||
public:
|
||||
Camera *camera;
|
||||
SceneItem *sceneItem;
|
||||
T subScene;
|
||||
|
||||
SubSceneRendererScene(DawnGame *game) : Scene(game), subScene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> getRequiredAssets() override {
|
||||
return this->subScene.getRequiredAssets();
|
||||
}
|
||||
|
||||
void stage() override {
|
||||
// Stage subscene
|
||||
this->subScene.stage();
|
||||
|
||||
// Create camera to render.
|
||||
this->camera = Camera::create(this);
|
||||
this->camera->getRenderTarget()->setClearColor(COLOR_BLACK);
|
||||
|
||||
// Add render quad.
|
||||
this->sceneItem = this->createSceneItem();
|
||||
auto host = this->sceneItem->addComponent<MeshHost>();
|
||||
auto renderer = this->sceneItem->addComponent<MeshRenderer>();
|
||||
|
||||
auto material = this->sceneItem->addComponent<SimpleTexturedMaterial>();
|
||||
material->texture = this->subScene.renderTarget.getTexture();
|
||||
|
||||
auto renderTargetQuad = this->sceneItem->addComponent<SimpleRenderTargetQuad>();
|
||||
renderTargetQuad->setRenderTarget(&this->subScene.renderTarget);
|
||||
|
||||
auto subSceneController = this->sceneItem->addComponent<SubSceneController>();
|
||||
subSceneController->setSubScene(&this->subScene);
|
||||
|
||||
auto subSceneCameraAlign = this->sceneItem->addComponent<SubSceneCameraAlign>();
|
||||
subSceneCameraAlign->setRenderTarget(&this->subScene.renderTarget);
|
||||
subSceneCameraAlign->setCamera(this->camera);
|
||||
}
|
||||
};
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "TestUIScene.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
TestUIScene::TestUIScene(DawnGame *game) : Scene(game) {
|
||||
|
||||
}
|
||||
|
||||
std::vector<Asset*> TestUIScene::getRequiredAssets() {
|
||||
std::vector<Asset*> assets;
|
||||
AssetManager *man = &this->game->assetManager;
|
||||
assets.push_back(man->get<TrueTypeAsset>("truetype_alice"));
|
||||
assets.push_back(man->get<TextureAsset>("texture_test"));
|
||||
return assets;
|
||||
}
|
||||
|
||||
void TestUIScene::stage() {
|
||||
AssetManager *man = &this->game->assetManager;
|
||||
|
||||
// Camera
|
||||
this->camera = Camera::create(this);
|
||||
this->camera->transform->lookAt(glm::vec3(3, 3, 3), glm::vec3(0, 0, 0));
|
||||
|
||||
auto testCube = SimpleSpinningCubePrefab::create(this);
|
||||
|
||||
// UI
|
||||
this->canvas = UICanvas::create(this);
|
||||
|
||||
// auto text = man->get<TextureAsset>("texture_test");
|
||||
// auto border = this->canvas->addElement<UIBorder>();
|
||||
// border->texture = &text->texture;
|
||||
// border->setBorderSize(glm::vec2(4, 4));
|
||||
// border->setTransform(
|
||||
// UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_STRETCH,
|
||||
// glm::vec4(0, 0, 0, 0),
|
||||
// 0.0f
|
||||
// );
|
||||
|
||||
auto assetFont = man->get<TrueTypeAsset>("truetype_alice");
|
||||
|
||||
auto grid = this->canvas->addElement<UIGrid>();
|
||||
grid->setTransform(UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_STRETCH, glm::vec4(0, 0, 0, 0), 0);
|
||||
grid->setGridSize(4, 4, 8, 8);
|
||||
|
||||
auto menu = new UIMenu(this->canvas, grid->getColumns(), grid->getRows());
|
||||
|
||||
for(int32_t x = 0; x < grid->getColumns(); x++) {
|
||||
for(int32_t y = 0; y < grid->getRows(); y++) {
|
||||
auto label = this->canvas->addElement<UILabel>();
|
||||
label->setFont(&assetFont->font);
|
||||
label->setText("test.1");
|
||||
label->setFontSize(24);
|
||||
grid->addToGrid(label, x, y, UI_COMPONENT_ALIGN_MIDDLE, UI_COMPONENT_ALIGN_MIDDLE);
|
||||
|
||||
auto menuItem = new TestMenuItem;
|
||||
menuItem->label = label;
|
||||
menu->setItem(x, y, menuItem);
|
||||
}
|
||||
|
||||
menu->setPosition(0, 0);
|
||||
this->canvas->setCurrentMenu(menu);
|
||||
}
|
||||
|
||||
this->canvas->setCurrentMenu(menu);
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scene/Scene.hpp"
|
||||
#include "game/DawnGame.hpp"
|
||||
#include "scene/components/ui/UICanvas.hpp"
|
||||
#include "ui/UILabel.hpp"
|
||||
#include "ui/UIBorder.hpp"
|
||||
#include "ui/UIGrid.hpp"
|
||||
#include "ui/UISprite.hpp"
|
||||
#include "prefabs/SimpleSpinningCubePrefab.hpp"
|
||||
#include "ui/UIMenu.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class TestMenuItem : public UIMenuItem {
|
||||
public:
|
||||
UILabel *label;
|
||||
void onItemSelected() {
|
||||
|
||||
}
|
||||
|
||||
void onItemOver() {
|
||||
this->label->setText("test.2");
|
||||
}
|
||||
|
||||
void onItemOff() {
|
||||
this->label->setText("test.1");
|
||||
}
|
||||
|
||||
bool_t canBeOvered() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool_t canBeSelected() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class TestUIScene : public Scene {
|
||||
private:
|
||||
Camera *camera = nullptr;
|
||||
UICanvas *canvas = nullptr;
|
||||
|
||||
public:
|
||||
TestUIScene(DawnGame *game);
|
||||
std::vector<Asset*> getRequiredAssets() override;
|
||||
void stage() override;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user