Final commit of T fix

This commit is contained in:
2023-02-03 06:59:49 -08:00
parent 6e9a54b4f2
commit d8128f1513
4 changed files with 22 additions and 22 deletions

View File

@ -14,8 +14,8 @@
#include "visualnovel/components/VisualNovelCharacter.hpp"
namespace Dawn {
template<class T>
class CharacterPrefab : public SceneItemPrefab<T> {
template<class O>
class CharacterPrefab : public SceneItemPrefab<O> {
protected:
/**
* Character Prefab will request you to initialize your characters'
@ -31,8 +31,8 @@ namespace Dawn {
public:
static std::vector<Asset*> prefabAssets(AssetManager *assMan) {
return std::vector<Asset*>{
assMan->get<TextureAsset>(T::getCharacterTexture()),
assMan->get<TilesetAsset>(T::getCharacterTileset())
assMan->get<TextureAsset>(O::getCharacterTexture()),
assMan->get<TilesetAsset>(O::getCharacterTileset())
};
}
@ -47,34 +47,34 @@ namespace Dawn {
TiledSprite *tiledSprite;
AudioSource *audioSource;
CharacterPrefab(Scene *s, sceneitemid_t i) : SceneItemPrefab<T>(s, i) {}
CharacterPrefab(Scene *s, sceneitemid_t i) : SceneItemPrefab<O>(s, i) {}
void prefabInit(AssetManager *man) override {
characterTexture = man->get<TextureAsset>(T::getCharacterTexture());
characterTileset = man->get<TilesetAsset>(T::getCharacterTileset());
characterTexture = man->get<TextureAsset>(O::getCharacterTexture());
characterTileset = man->get<TilesetAsset>(O::getCharacterTileset());
// Emotions
auto emotion = this->defineAndGetInitialEmotion(man);
// Components
meshRenderer = SceneItem::addComponent<MeshRenderer>();
meshHost = SceneItem::addComponent<MeshHost>();
meshRenderer = this->template addComponent<MeshRenderer>();
meshHost = this->template addComponent<MeshHost>();
material = SceneItem::addComponent<SimpleTexturedMaterial>();
material = this->template addComponent<SimpleTexturedMaterial>();
material->texture = &characterTexture->texture;
vnCharacter = SceneItem::addComponent<VisualNovelCharacter>();
vnCharacter->nameKey = T::getLanguagePrefix() + ".name";
vnCharacter = this->template addComponent<VisualNovelCharacter>();
vnCharacter->nameKey = O::getLanguagePrefix() + ".name";
animation = SceneItem::addComponent<AnimationController>();
animation = this->template addComponent<AnimationController>();
tiledSprite = SceneItem::addComponent<TiledSprite>();
tiledSprite = this->template addComponent<TiledSprite>();
tiledSprite->setTileset(&characterTileset->tileset);
float_t ratio = characterTileset->tileset.getTileWidth() / characterTileset->tileset.getTileHeight();
tiledSprite->setSize(glm::vec2(ratio, 1.0f));
tiledSprite->setTile(emotion.tile);
audioSource = SceneItem::addComponent<AudioSource>();
audioSource = this->template addComponent<AudioSource>();
this->transform.setLocalPosition(glm::vec3(0, 0, 0));
}