9 #ifndef TurtleBrainsExpress_CutsceneEntity_hpp
10 #define TurtleBrainsExpress_CutsceneEntity_hpp
12 #include <turtle_brains/core/tb_string.hpp>
13 #include <turtle_brains/core/tb_dynamic_structure.hpp>
14 #include <turtle_brains/math/tb_interpolation.hpp>
15 #include <turtle_brains/game/tb_entity.hpp>
16 #include <turtle_brains/game/tb_game_timer.hpp>
18 #include <unordered_map>
37 explicit CutsceneEntity(
void);
46 explicit CutsceneEntity(
const tbCore::tbString& scriptFile,
const std::vector<tbCore::tbString>& parameters = { });
51 virtual ~CutsceneEntity(
void);
56 bool IsPlaying(
void)
const;
64 void Play(
bool isLooping);
81 static void CheckAndReloadCutsceneScripts(
void);
99 tbMath::Interpolation::InterpolationMode mTweenMode[TweenChannel::Count];
102 virtual void OnAdd(
void)
override;
103 virtual void OnRemove(
void)
override;
104 virtual void OnSimulate(
void)
override;
105 virtual void OnUpdate(
const float deltaTime)
override;
106 virtual void OnRender(
void)
const override;
107 virtual void OnCollide(
const tbGame::Entity& otherEntity)
override;
112 void AddKeyFrame(
const tbCore::tbString& name,
const KeyFrame& keyFrame,
bool additive);
115 bool GetLastKeyFrame(
const tbCore::tbString& name, KeyFrame& keyFrame)
const;
121 std::vector<KeyFrame> mKeyFrames;
122 size_t mCurrentFrameIndex;
125 void AddKeyFrame(SceneProp& sceneProp,
const KeyFrame& keyFrame,
bool additive);
127 static KeyFrame BetweenKeyFrames(
float percentage,
const KeyFrame& start,
const KeyFrame&
final);
131 void ClearScript(
void);
132 void LoadScript(
void);
135 bool LoadKeyFrame(
const tbCore::DynamicStructure& keyFrameData, KeyFrame& keyFrame,
const SceneProp& sceneProp)
const;
142 bool ReallyAddSceneProp(
const tbCore::tbString& name,
const SceneProp& sceneProp);
144 typedef std::unordered_map<tbCore::tbString, SceneProp> ScenePropTable;
145 ScenePropTable mSceneProps;
148 const std::vector<tbCore::tbString> mScriptParameters;
Definition: tb_vector.hpp:48
Definition: tb_graphic.hpp:61
Definition: tb_entity.hpp:46
A collection of objects and functions to express games quickly.
Definition: tb_color.hpp:24
Definition: tb_dynamic_structure.hpp:37
Definition: tbx_cutscene_entity.hpp:22
Definition: tb_angle.hpp:34
std::string tbString
Definition: tb_string.hpp:335
Definition: tb_game_timer.hpp:25