Perfected Audio

This commit is contained in:
2023-01-17 19:34:47 -08:00
parent a4ad5a3ac4
commit 821074dfc4
18 changed files with 459 additions and 308 deletions

View File

@ -7,7 +7,6 @@
#include "scenes/PixelVNScene.hpp"
#include "scenes/Scene_2.hpp"
#include "prefabs/characters/DeathPrefab.hpp"
#include "scene/components/audio/AudioListener.hpp"
#include "scene/components/audio/AudioSource.hpp"
@ -15,6 +14,12 @@ namespace Dawn {
class Scene_1 : public PixelVNScene {
protected:
DeathPrefab *death;
AudioSource *source;
void onFinished() {
std::cout << "Finished" << std::endl;
source->rewind();
}
void vnStage() override {
PixelVNScene::vnStage();
@ -23,15 +28,15 @@ namespace Dawn {
// this->death->vnCharacter.setOpacity(0);
auto sourceItem = this->createSceneItem();
auto source = sourceItem->addComponent<AudioSource>();
source = sourceItem->addComponent<AudioSource>();
source->transform->setLocalPosition(glm::vec3(1, 0, 0));
source->eventFinished.addListener(this, &Scene_1::onFinished);
auto audio = this->game->assetManager.get<AudioAsset>("audio_test");
auto data = new AudioData();
data->init();
source->setAudioData(data);
source->play();
source->setLoop(true);
source->setAudioData(audio);
source->loop = true;
source->state = AUDIO_SOURCE_STATE_PLAYING;
}
void onSceneEnded() {
@ -48,8 +53,8 @@ namespace Dawn {
auto start = new VisualNovelPauseEvent(vnManager, 1.0f);
start
->then(new VisualNovelTextboxEvent(vnManager, nullptr, "scene.1.1"))
->then(new VisualNovelCallbackEvent<Scene_1>(vnManager, this, &Scene_1::onSceneEnded))
// ->then(new VisualNovelTextboxEvent(vnManager, nullptr, "scene.1.1"))
// ->then(new VisualNovelCallbackEvent<Scene_1>(vnManager, this, &Scene_1::onSceneEnded))
;
return start;
@ -64,6 +69,7 @@ namespace Dawn {
auto man = &this->game->assetManager;
std::vector<Asset*> assets = PixelVNScene::getRequiredAssets();
vectorAppend(&assets, DeathPrefab::getRequiredAssets(man));
assets.push_back(man->get<AudioAsset>("audio_test"));
return assets;
}
};