Fission FSN
Loading...
Searching...
No Matches
gfCLockComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCLockComponent.h
4*
5* Purpose: An entity which is collected by dragging key entities
6* onto it.
7*
8*********************************************************************/
9
10#ifndef gfCLockComponenthdr
11#define gfCLockComponenthdr
12
13#include <vector>
14
16
18
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29 static const fsStr mEntityPrefix;
30
31 void smash();
32 fsBool lockedGet() const;
33
34 fsBool keyConsumed(fsCEntity* pKeyEnt, fsCEntity* pDragDropEnt);
35 fsBool keyUsable(fsCEntity* pKeyEnt);
36 fsBool keyConsumable(fsCEntity* pKeyEnt, fsCEntity* pDragDropEnt);
37 fsBool keyOver(fsCEntity* pDragDropEnt);
38
39protected:
40
41 void listenersRegisterDo() override;
42 void listenersDeregisterDo() override;
43 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
44 const fsIMessageDispatcher::sMessageParameters& pParam) override;
45
46 void midCollectionHandle() override;
47
48 void serialiseDo() override;
49 void deserialiseDo() override;
50
51 void deactivateDo() override;
52
53 void collectionProcessTriggerDo() override;
54
55 static fsIComponent* create(fsCEntity* pParent);
56
58 virtual ~gfCLockComponent();
59
60private:
61
62 void hintStringExistsCheck() const;
63
64 void lockKeysStateSave();
65 void lockKeysStateLoad();
66
67 void onCollectionEffectCompleteDo() override;
68
69 void initialiseFromName();
70
71 static const fsStr mInOrderPrefix;
72
73 std::vector<std::pair<fsStr, fsBool>>::iterator keyLocate(const fsStr& pKeyName);
74
75 std::vector<std::pair<fsStr, fsBool>> mKeys;
76 fsStr mTaskName;
77
78 fsBool mInOrderLock;
79};
80
81#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsIComponent.h:26
Definition fsISpriteComponent.h:23
Definition fsStr.h:23
gfCLockComponent(fsCEntity *pParent)
Definition gfCLockComponent.cpp:287
friend class fsCComponentFactory
Definition gfCLockComponent.h:24
virtual ~gfCLockComponent()
Definition gfCLockComponent.cpp:293
void deactivateDo() override
Definition gfCLockComponent.cpp:105
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCLockComponent.cpp:32
void collectionProcessTriggerDo() override
Definition gfCLockComponent.cpp:114
void listenersRegisterDo() override
Definition gfCLockComponent.cpp:18
fsBool keyConsumed(fsCEntity *pKeyEnt, fsCEntity *pDragDropEnt)
Definition gfCLockComponent.cpp:220
void smash()
Definition gfCLockComponent.cpp:87
fsBool keyUsable(fsCEntity *pKeyEnt)
Definition gfCLockComponent.cpp:209
static fsIComponent * create(fsCEntity *pParent)
Definition gfCLockComponent.cpp:275
static const fsCUniqueId mTypeId
Definition gfCLockComponent.h:28
void serialiseDo() override
Definition gfCLockComponent.cpp:53
void deserialiseDo() override
Definition gfCLockComponent.cpp:70
void midCollectionHandle() override
Definition gfCLockComponent.cpp:44
fsBool keyOver(fsCEntity *pDragDropEnt)
Definition gfCLockComponent.cpp:204
void listenersDeregisterDo() override
Definition gfCLockComponent.cpp:25
fsBool keyConsumable(fsCEntity *pKeyEnt, fsCEntity *pDragDropEnt)
Definition gfCLockComponent.cpp:215
static const fsStr mEntityPrefix
Definition gfCLockComponent.h:29
fsBool lockedGet() const
Definition gfCLockComponent.cpp:263
gfCTappableCollectableComponent(fsCEntity *pParent)
Definition gfCTappableCollectableComponent.cpp:204
virtual void onCollectionEffectCompleteDo()
Definition gfICollectableComponent.cpp:263
bool fsBool
Definition fsBaseTypes.h:26
Definition fsIMessageDispatcher.h:32