9#ifndef gfCSimpleLevelComponenthdr
10#define gfCSimpleLevelComponenthdr
59 template<
typename TLogic,
typename TMinigame>
60 void minigameLogicAdd(std::vector<gfIMinigameLogic*>& pLogicEntities);
61 template<
typename TLogic>
62 void minigameLogicAdd(std::vector<gfIMinigameLogic*>& pLogicEntities,
const fsStr& pEntityName =
"");
73 void miniGameLogicComponentsAdd();
75 void actCompleteHandle();
76 fsBool levelSkippedForAnalytics()
const;
77 fsS32 adFreeLevelCountGet()
const;
78 fsS32 rewardPackSizeGet()
const;
79 fsS32 rewardTailGraceCountGet()
const;
80 fsS32 rewardUnlockedLevelCountGet(
fsS32 pTotalLevels)
const;
81 void rewardUnlockedLevelCountSet(
fsS32 pUnlockedCount)
const;
82 fsBool rewardGateRequiredForNextLevel()
const;
83 void rewardUnlockGrantForCurrentBoundary();
84 fsBool interstitialAllowedForCurrentLevel()
const;
85 void rewardGatePaywallShow();
91 fsBool mPendingInterstitialOnFadeOut;
93 fsBool mPaywallDestroyOnFadeOut;
94 fsBool mSkipInterstitialOnce;
95 fsBool mLevelSkippedForAnalytics;
99template<
typename TLogic>
100void gfCSimpleLevelComponent::minigameLogicAdd(std::vector<gfIMinigameLogic*>& logicEntities,
101 const fsStr& entityName)
104 auto* logicEntity = parent->firstChildEntityWithComponentsOfFamilyType<TLogic>();
110 logicEntity = parent->entityFactoryGet()->emptyEntityCreate(
"minigameLogic");
111 logicEntity->template componentAdd<TLogic>();
115 logicEntity = parent->entityFactoryGet()->entityConstruct(entityName);
117 parent->childAdd(logicEntity);
120 auto* logic = logicEntity->template firstComponentOfFamilyType<TLogic>();
122 if (std::find(logicEntities.begin(), logicEntities.end(), logic) == logicEntities.end())
124 logicEntities.push_back(logic);
129template<
typename TLogic,
typename TMinigame>
130void gfCSimpleLevelComponent::minigameLogicAdd(std::vector<gfIMinigameLogic*>& logicEntities)
132 if (!
parentGet()->
template firstChildEntityWithComponentsOfFamilyType<TMinigame>())
137 minigameLogicAdd<TLogic>(logicEntities);
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
void reset()
Definition fsIComponent.cpp:16
fsBool emptyGet() const
Definition fsStr.h:45
gfCSimpleLevelComponent(fsCEntity *pParent)
Definition gfCSimpleLevelComponent.cpp:801
static fsIComponent * create(fsCEntity *pParent)
Definition gfCSimpleLevelComponent.cpp:795
void abortDo() override
Definition gfCSimpleLevelComponent.cpp:327
friend class fsCComponentFactory
Definition gfCSimpleLevelComponent.h:22
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCSimpleLevelComponent.cpp:378
void doLevelCreate() override
Definition gfCSimpleLevelComponent.cpp:756
void skipDo() override
Definition gfCSimpleLevelComponent.cpp:242
static const fsCUniqueId mTypeId
Definition gfCSimpleLevelComponent.h:26
static const fsCUniqueId mLevelSkippedMsg
Definition gfCSimpleLevelComponent.h:28
virtual void actAdvance()
Definition gfCSimpleLevelComponent.cpp:572
void updateDo(fsS32 pDeltaMs) override
Definition gfCSimpleLevelComponent.cpp:75
void listenersDeregisterDo() override
Definition gfCSimpleLevelComponent.cpp:336
virtual void levelResetDo()
Definition gfCSimpleLevelComponent.cpp:80
void listenersRegisterDo() override
Definition gfCSimpleLevelComponent.cpp:357
virtual fsStr rewardSequencFileNameGetIfActive()
Definition gfCSimpleLevelComponent.cpp:532
virtual ~gfCSimpleLevelComponent()
Definition gfCSimpleLevelComponent.cpp:812
void renderDo() override
Definition gfCSimpleLevelComponent.cpp:70
fsCEntity *const parentGet() const
Definition gfIHogLevel.cpp:134
gfIHogLevel(fsCEntity *pParent)
Definition gfIHogLevel.cpp:498
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32