Fission FSN
Loading...
Searching...
No Matches
fsCBarGuiComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCBarGuiComponent.h
4*
5* Purpose: Bar that refills / empties
6*
7*********************************************************************/
8
9#ifndef fsCBarGuiComponenthdr
10#define fsCBarGuiComponenthdr
11
13
16
17class fsCEntity;
18class fsINode;
19
21{
22 friend class fsCComponentFactory;
23 friend class fsIDebug;
24
25public:
26
27 static const fsCUniqueId mTypeId;
28
29 void timeInit(fsS32 pFillDelay);
30 fsBool inputDisabled() const;
31 void drain();
32 fsBool timerActive() const;
33
34protected:
35
36 void serialiseDo() override;
37 void deserialiseDo() override;
38
39 void renderDo() override;
40 void updateDo(fsS32 pDeltaMs) override;
41 void matrixApplyDo() override;
42
43 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
44
45 void listenersRegisterDo() override;
46 void listenersDeregisterDo() override;
47 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
48 const fsIMessageDispatcher::sMessageParameters& pParam) override;
49
50 static fsIComponent* create(fsCEntity* pParent);
51
53 virtual ~fsCBarGuiComponent();
54
55private:
56
57 enum
58 {
59 eDIRECTION_UP = 0,
60 eDIRECTION_DOWN,
61 eDIRECTION_RIGHT,
62 eDIRECTION_LEFT
63 };
64
65 fsBool mLevelComplete;
66
67 fsITextSpriteComponent* mTimeTxt;
68
69 std::unique_ptr<fsCSprite> mDisabledSprite;
70 std::unique_ptr<fsCSprite> mFillSprite;
71 std::shared_ptr<fsCBrush> mFillBrush;
72
73 fsAffineMtx2d mLocalMtx;
74
75 fsF32 mCurrentFillPercent;
76 fsS32 mPrevFillLength;
77
78 fsS32 mFillDirection;
79
80 fsS32 mTimeToFillMs;
81 fsS32 mCurrentFillMs;
82
83 fsS32 mRecharge;
84 fsBool mStartsFull;
85
86 fsPoint mFillSprPos;
87
88 void spritesInitialise(const fsCVariableTable& pVars);
89 void fillDirectionInitialise(const fsCVariableTable& pVars);
90 void fillValuesInitialise(const fsCVariableTable& pVars);
91 void fillSpriteUpdate();
92 fsS32 fillLengthCalculate() const;
93 void fillValuesUpdate();
94
95};
96
97#endif
Definition fsAffineMtx2d.h:27
friend class fsCComponentFactory
Definition fsCBarGuiComponent.h:22
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsCBarGuiComponent.cpp:288
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition fsCBarGuiComponent.cpp:35
void renderDo() override
Definition fsCBarGuiComponent.cpp:218
fsCBarGuiComponent(fsCEntity *pParent)
Definition fsCBarGuiComponent.cpp:302
void listenersDeregisterDo() override
Definition fsCBarGuiComponent.cpp:21
void matrixApplyDo() override
Definition fsCBarGuiComponent.cpp:242
void timeInit(fsS32 pFillDelay)
Definition fsCBarGuiComponent.cpp:66
fsBool timerActive() const
Definition fsCBarGuiComponent.cpp:95
friend class fsIDebug
Definition fsCBarGuiComponent.h:23
void drain()
Definition fsCBarGuiComponent.cpp:88
void deserialiseDo() override
Definition fsCBarGuiComponent.cpp:52
void listenersRegisterDo() override
Definition fsCBarGuiComponent.cpp:28
static const fsCUniqueId mTypeId
Definition fsCBarGuiComponent.h:27
void serialiseDo() override
Definition fsCBarGuiComponent.cpp:45
virtual ~fsCBarGuiComponent()
Definition fsCBarGuiComponent.cpp:317
static fsIComponent * create(fsCEntity *pParent)
Definition fsCBarGuiComponent.cpp:297
fsBool inputDisabled() const
Definition fsCBarGuiComponent.cpp:78
void updateDo(fsS32 pDeltaMs) override
Definition fsCBarGuiComponent.cpp:226
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerGuiComponent(fsCEntity *pParent, fsS32 pPriority)
Definition fsIMessageListenerGuiComponent.cpp:4
Definition fsINode.h:30
Definition fsITextSpriteComponent.h:22
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17