Tileset animations.

This commit is contained in:
2022-12-07 20:13:59 -08:00
parent 0a4170ea3d
commit 40647ee6c4
16 changed files with 262 additions and 165 deletions

View File

@ -7,6 +7,7 @@
#include "asset/AssetManager.hpp"
#include "poker/PokerPlayer.hpp"
#include "scene/components/Components.hpp"
#include "display/animation/TiledSpriteAnimation.hpp"
namespace Dawn {
class VNPenny {
@ -21,19 +22,26 @@ namespace Dawn {
static SceneItem * create(Scene *scene) {
auto item = scene->createSceneItem();
auto meshRenderer = item->addComponent<MeshRenderer>();
auto textureAsset = scene->game->assetManager.get<TextureAsset>("texture_penny");
auto tilesetAsset = scene->game->assetManager.get<TilesetAsset>("tileset_penny");
auto meshRenderer = item->addComponent<MeshRenderer>();
auto material = item->addComponent<Material>();
auto asset = scene->game->assetManager.get<TextureAsset>("texture_penny");
auto param = material->getShader()->getParameterByName("u_Text");
material->textureValues[param] = &asset->texture;
auto meshHost = item->addComponent<MeshHost>();
auto tiledSprite = item->addComponent<TiledSprite>();
tiledSprite->setTileset(&scene->game->assetManager.get<TilesetAsset>("tileset_penny")->tileset);
tiledSprite->setSize(glm::vec2(2, 2));
auto pokerPlayer = item->addComponent<PokerPlayer>();
auto animation = item->addComponent<AnimationController>();
auto param = material->getShader()->getParameterByName("u_Text");
material->textureValues[param] = &textureAsset->texture;
tiledSprite->setTileset(&tilesetAsset->tileset);
tiledSprite->setSize(glm::vec2(tilesetAsset->tileset.divX, tilesetAsset->tileset.divY));
auto anim = new TiledSpriteAnimation(tiledSprite);
anim->addSequentialKeyframes(0.1f, 0, 22);
anim->loop = true;
animation->animation = anim;
return item;
}