Fission FSN
Loading...
Searching...
No Matches
gfCDraggableKeyComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCDraggableKeyComponent.h
4*
5* Purpose: Inventory item which is not collected, only used by
6* dragging directly onto a lock in the scene.
7*
8*********************************************************************/
9
10#ifndef gfCDraggableKeyComponenthdr
11#define gfCDraggableKeyComponenthdr
12
14
17
18struct fsPoint;
19class fsCBrush;
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29 static const fsStr mEntityPrefix;
30
31 static fsStr useInventoryIconNameGet(const fsStr& pEntityName);
32 static fsStr inventoryIconNameGet(const fsStr& pEntityName);
33
34 fsBool toolGet() const { return mTool; }
35 void toolSet() { mTool = true; }
36 void consume();
37
38protected:
39
40 void resetDo() override;
41
42 void serialiseDo() override;
43 void deserialiseDo() 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
54
55private:
56
57 void sfxPlay() const;
58
59 fsPoint offsetGet() const;
60
61 static fsStr inventoryIconNameGet(const fsStr& pEntityName, const fsStr& pSuffix);
62
63 static const fsStr mUseSuffix;
64 static const fsStr mInventoryIconSuffix;
65
66 static std::shared_ptr<fsCBrush> useInventoryIconGet(fsCEntity* pParentEntity);
67 static std::shared_ptr<fsCBrush> inventoryIconGet(fsCEntity* pParentEntity, const fsStr& pSuffix);
68
69 fsCEntity* const dragDropEntGet() const;
70 fsBool hotEntUnderCheck() const;
71
72 fsBool startDragEventIfHit(const fsIMessageDispatcher::sMessageParameters& pParam);
73 void dragEndHandle();
74 fsStr dragDropEntNameGet() const;
75 void inventoryDelegateApply(std::shared_ptr<fsCBrush> pBrush) const;
76
77 fsBool mBeingUsed;
78 fsBool mTool;
79 fsBool mDepthOrderLocks;
80
81 static const fsStr mIconFolder;
82
83#ifdef COLLISION_DEBUG_MESSAGES
84 void checkLocks();
85#endif
86
87};
88
89#endif
Definition fsCBrush.h:26
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsIComponent.h:26
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
Definition fsStr.h:23
gfCDraggableKeyComponent(fsCEntity *pParent)
Definition gfCDraggableKeyComponent.cpp:345
void listenersRegisterDo() override
Definition gfCDraggableKeyComponent.cpp:77
void listenersDeregisterDo() override
Definition gfCDraggableKeyComponent.cpp:67
virtual ~gfCDraggableKeyComponent()
Definition gfCDraggableKeyComponent.cpp:355
friend class fsCComponentFactory
Definition gfCDraggableKeyComponent.h:24
static fsIComponent * create(fsCEntity *pParent)
Definition gfCDraggableKeyComponent.cpp:337
static const fsStr mEntityPrefix
Definition gfCDraggableKeyComponent.h:29
static fsStr useInventoryIconNameGet(const fsStr &pEntityName)
Definition gfCDraggableKeyComponent.cpp:158
void consume()
Definition gfCDraggableKeyComponent.cpp:38
static const fsCUniqueId mTypeId
Definition gfCDraggableKeyComponent.h:28
void resetDo() override
Definition gfCDraggableKeyComponent.cpp:44
fsBool toolGet() const
Definition gfCDraggableKeyComponent.h:34
static fsStr inventoryIconNameGet(const fsStr &pEntityName)
Definition gfCDraggableKeyComponent.cpp:168
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCDraggableKeyComponent.cpp:87
void toolSet()
Definition gfCDraggableKeyComponent.h:35
void serialiseDo() override
Definition gfCDraggableKeyComponent.cpp:54
void deserialiseDo() override
Definition gfCDraggableKeyComponent.cpp:59
bool fsBool
Definition fsBaseTypes.h:26
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17