AnimatedSprite.h
AnimatedSprite.h
CPP1/* Copyright Statement:2 *3 * (C) 2021-2024 Cubios Inc. All rights reserved.4 */5#pragma once6#include "SceneObject.h"7#include <string>8#include <vector>910namespace Cubios11{12namespace Gfx13{14class AnimatedSprite: public Cubios::SceneObject15{16 public:1718 enum playbackMode_t19 {20 Loop = 0,21 Bounce,22 Set23 };2425 AnimatedSprite(std::vector<std::string>& names, const Cubios::Math::Transform& t);26 AnimatedSprite(std::vector<std::string>& names, float x, float y);27 AnimatedSprite(std::vector<std::string>& names);2829 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame, const Cubios::Math::Transform& t);30 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame, float x, float y);31 AnimatedSprite(std::string name,std::string extension, int16_t firstFrame, int16_t lastFrame);3233 AnimatedSprite(const AnimatedSprite& sprite);3435 virtual ~AnimatedSprite();36 void Render() override;3738 int16_t Tick(uint32_t dt);3940 Cubios::SceneObject* SetFrame(int16_t frameNumber);41 Cubios::SceneObject* SetPlaybackSpeed(int16_t speed);42 Cubios::SceneObject* SetPlaybackMode(playbackMode_t mode);4344 int16_t PrevFrame();45 int16_t NextFrame();4647 protected:4849 virtual void doLoop(uint32_t dt);50 virtual void doBounce(uint32_t dt);51 virtual void doSet(uint32_t dt) {}5253 int16_t playbackSpeed;54 int16_t numFrames;55 int16_t startFrame;56 int32_t prevTime;57 uint32_t lastDt;5859 std::vector<u32_t> resourceIds;6061 playbackMode_t playbackMode;62 bool reverse;6364 int16_t currentFrame;65};66}67}68
Wrapped for easier reading. Turn wrap off to inspect exact line lengths.