Etterna 0.74.4
Loading...
Searching...
No Matches
Transition.h
1/* Transition - Transition that draws an actor. */
2
3#ifndef TRANSITION_H
4#define TRANSITION_H
5
6#include "Etterna/Actor/Base/ActorFrame.h"
7#include "Etterna/Actor/Base/AutoActor.h"
8#include "Etterna/Screen/Others/ScreenMessage.h"
9
10class Transition : public ActorFrame
11{
12 public:
13 Transition();
14
15 void Load(const std::string& sBGAniDir);
16
17 void UpdateInternal(float fDeltaTime) override;
18
19 virtual void StartTransitioning(ScreenMessage send_when_done = SM_None);
20 bool EarlyAbortDraw() const override;
21 float GetTweenTimeLeft() const override;
22 void Reset(); // explicitly allow transitioning again
23
24 bool IsWaiting() const { return m_State == waiting; };
25 bool IsTransitioning() const { return m_State == transitioning; };
26 bool IsFinished() const { return m_State == finished; };
27
28 protected:
29 enum State
30 {
31 waiting,
32 transitioning,
33 finished
34 } m_State;
35
36 AutoActor m_sprTransition;
37
38 ScreenMessage m_MessageToSendWhenDone;
39};
40
41#endif
A container for other Actors.
Definition ActorFrame.h:8
A smart pointer for Actor.
Definition AutoActor.h:13
Definition Transition.h:11
bool EarlyAbortDraw() const override
Allow the Actor to be aborted early.
Definition Transition.cpp:48
float GetTweenTimeLeft() const override
Amount of time until all tweens (and all children's tweens) have stopped:
Definition Transition.cpp:71