10#ifndef gfCPickListGuihdr
11#define gfCPickListGuihdr
28 const std::vector<gfIPickListEntryGui*>
entriesGet()
const;
57 void tagAdd(
fsStr const& pTag);
58 void typeAdd(
const std::type_info* pType);
60 std::vector<fsCEntity*> entitiesGet()
const;
64 std::vector<const std::type_info*> mEntityTypes;
65 std::vector<fsStr> mTags;
70 void totEntitiesToCollectSet(
fsS32 pTotEntities);
71 void repeatedHOGItemCollectionCountSet(
fsS32 pSize) { mRepeatedHOGItemCount = pSize; }
73 void updateDo(
fsS32 pDeltaMs)
override;
77 static void chooseEntsWithMatchingNameAndStripFromCollectableCollection(
78 std::vector<fsCEntity*>& pCollectableCollection,
79 std::vector<fsCEntity*>& pChosenEntities, std::vector<fsCEntity*>::iterator& pEntIt,
const fsStr& pMatch);
81 void entitiesRelinkWithGuiSlots();
82 std::vector<fsCEntity*> collectableEntitesGet()
const;
84 fsS32 allEntitiesCountGet()
const;
85 static fsS32 numUniqueEntityNamesGet(
const std::vector<fsCEntity*>& pEnts);
87 void itemCountUpdate()
const;
90 std::vector<fsCEntity*> hintableEntitiesGet()
const;
91 std::vector<fsCEntity*> draggableEntitiesGet()
const;
93 void completionRequirementClear()
const;
94 void completionRequirementRegister()
const;
96 void listCompleteProcess();
97 void updateCollectionCount();
100 void entityTypesGather(fsSEntityTypes& pTypes, fsStr pEntsStr);
102 fsU32 availableSlotsCount()
const;
104 void entityAddToList();
106 std::vector<fsCEntity*> entityOfTypesGet(fsSEntityTypes
const& pTypes)
const;
107 static void collectedEntitiesRemove(std::vector<fsCEntity*>& pCandidateEntities);
108 static void nonCollectableEntitiesRemove(std::vector<fsCEntity*>& pCandidateEntities);
109 static void entitiesWithSameTextGet(std::vector<fsCEntity*>& pChosenEntities,
110 const std::vector<fsCEntity*>& pShuffledEntities);
112 gfIPickListEntryGui* randomAvailableSlotGet()
const;
114 void taskEntityRegisterWithRollOver(gfCTaskComponent* pTaskComponent, fsCEntity* pSlot);
116 void listSetupHandle();
117 void listCompletedHandle();
120 std::vector<gfIPickListEntryGui*> mEntries;
122 fsSEntityTypes mPriorityEntityTypes;
123 fsSEntityTypes mRandomEntityTypes;
125 fsS32 mNextNewEntryDelay;
127 fsS32 mRepeatedHOGItemCount;
128 fsS32 mTotEntitiesToCollect;
129 fsS32 mTotEntitiesAddedToList;
130 fsBool mGroupEntitiesByName;
131 fsBool mRequiredForActCompletion;
133 fsS32 mNumEntitiesCollected;
139#if !defined fsRELEASE
140 fsBool mWarnedAboutLackOfItems;
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
void reset()
Definition fsIComponent.cpp:16
fsIMessageListenerGuiComponent(fsCEntity *pParent, fsS32 pPriority)
Definition fsIMessageListenerGuiComponent.cpp:4
gfCPickListGui(fsCEntity *pParent)
Definition gfCPickListGui.cpp:622
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition gfCPickListGui.cpp:358
friend class fsCComponentFactory
Definition gfCPickListGui.h:24
void listenersRegisterDo() override
Definition gfCPickListGui.cpp:200
static const fsCUniqueId mTypeId
Definition gfCPickListGui.h:32
void deserialiseDo() override
Definition gfCPickListGui.cpp:157
virtual ~gfCPickListGui()=default
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCPickListGui.cpp:209
void listenersDeregisterDo() override
Definition gfCPickListGui.cpp:191
const std::vector< gfIPickListEntryGui * > entriesGet() const
Definition gfCPickListGui.cpp:32
gfIPickListEntryGui * entryLocate(const fsStr &pLocalisedEntName) const
Definition gfCPickListGui.cpp:166
void serialiseDo() override
Definition gfCPickListGui.cpp:150
void postLoadDo() override
Definition gfCPickListGui.cpp:145
static fsIComponent * create(fsCEntity *pParent)
Definition gfCPickListGui.cpp:617
Definition gfCTaskComponent.h:20
Definition gfIPickListEntryGui.h:23
unsigned int fsU32
Definition fsBaseTypes.h:21
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32