42 template<
typename TMinigameType>
43 std::vector<fsCEntity*>
44 minigameEntsGet()
const;
47 fsBool hintOnMinigames()
const;
49 fsBool hintOnSubSceneNavigationComponents()
const;
50 fsBool hintOnWordSearch()
const;
52 void zoomedLevelReset()
const;
54 void hintEffectActivate(
fsCEntity* pTargetEntity)
const;
58 std::vector<fsCEntity*> mPreviouslyHintedEnts;
63template<
typename TMinigameType>
64std::vector<fsCEntity*>
65gfCHOGHint::minigameEntsGet()
const
67 std::vector<fsCEntity*> minigameEnts;
70 for (
fsCEntity* subSceneEnt : subSceneEnts)
72 if (subSceneEnt->visibleGet())
74 minigameEnts = subSceneEnt->childEntitiesWithComponentsOfFamilyType<TMinigameType>();
78 if (minigameEnts.empty())
80 minigameEnts = mParent->grandparentGet()->childEntitiesWithComponentsOfFamilyType<TMinigameType>();
83 minigameEnts.erase(std::remove_if(std::begin(minigameEnts), std::end(minigameEnts),
94fsBool gfCHOGHint::hintOnMinigames()
const
96 auto minigameEnts = minigameEntsGet<T>();
98 minigameEnts.erase(std::remove_if(std::begin(minigameEnts), std::end(minigameEnts),
99 [](fsCEntity*
const ent) {
return !ent->
componentGet<T>()->isHintableGet(); }),
100 std::end(minigameEnts));
102 if (minigameEnts.empty())
105 auto active = std::find_if(std::begin(minigameEnts), std::end(minigameEnts),
106 [](fsCEntity* ent) {
return ent->
componentGet<T>()->isActiveGet(); });
109 if (active != std::end(minigameEnts))
116 chosen = minigameEnts.front();
119 if (!chosen->componentGet<T>()->hintDo())
123 return gameGui->hintActivate(chosen,
nullptr);
fsIScene * sceneGet() const
Definition fsCAppCoreMain.cpp:278
Definition fsCEntity.h:39
TComponent * componentGet() const
Definition fsCEntity.h:209
Definition gfCGameGui.h:23
std::vector< fsCEntity * > appSceneEntitiesWithComponentOfFamilyType() const
Definition fsIComponent.h:89
static fsILevelBasedAppCoreMain * instanceGet()
Definition fsILevelBasedAppCoreMain.cpp:209
fsCEntity * firstEntityWithComponentsOfFamilyType() const
Definition fsIScene.h:65
fsBool activate(fsCEntity *pStartEnt, fsCEntity *pEndEnt)
Definition gfCHOGHint.cpp:78
~gfCHOGHint()
Definition gfCHOGHint.cpp:156
gfCHOGHint(fsCGameGui *pParent)
Definition gfCHOGHint.cpp:151
fsBool hinted() const
Definition gfCHOGHint.cpp:29
Definition gfCSubSceneComponent.h:22
bool fsBool
Definition fsBaseTypes.h:26
std::random_device & randomDeviceGet()
Definition fsNRnd.cpp:32