23#ifndef gfCParkLevelComponenthdr
24#define gfCParkLevelComponenthdr
78 const fsStr& pBuildingImage,
fsS32 pVisitorQuota = 0,
79 fsS32 pVisitorAppeal = 0);
90 fsS32 pVisitorComfort = 0);
104 const fsStr& pServiceType,
fsS32 pServiceTimeMs,
107 fsS32 pFootprintColumns,
fsS32 pFootprintRows,
113 const fsStr& pSlotName,
130 fsS32 pFootprintColumns,
fsS32 pFootprintRows)
const;
209 void guestTemplatesLoad();
210 void progressRestore();
211 fsS32 visitorQuotaHighestOwnedGet()
const;
212 fsS32 visitorDemandFromParkGet()
const;
213 fsS32 walkingSatisfactionFromParkGet()
const;
214 void visitorNumbersRefresh();
215 void reputationSettle();
227 const fsStr& pImagePath,
fsF32 pDrawScale,
fsBool pRepairDispatchTap =
false);
235 static const fsS32 mDayDurationMs;
238 fsS32 mDayRemainingMs;
243 fsS32 mAutosaveTimerMs;
249 fsS32 mServiceTimeMs;
250 fsS32 mMaxQueueLength;
252 fsStr mBuildingImage;
257 fsS32 mDrawWidth = 0;
258 fsS32 mFootprintColumns = 0;
259 fsS32 mFootprintRows = 0;
262 fsS32 mVisitorQuota = 0;
263 fsS32 mVisitorAppeal = 0;
275 struct SOwnedDecoration
278 fsS32 mDrawWidth = 0;
279 fsS32 mFootprintColumns = 1;
280 fsS32 mFootprintRows = 1;
283 fsS32 mVisitorAppeal = 0;
284 fsS32 mVisitorComfort = 0;
287 std::vector<SOwnedSlot> mPurchasedSlots;
288 std::vector<fsStr> mDeployedSlots;
289 std::vector<SHiredStaff> mHiredStaff;
290 std::vector<SOwnedDecoration> mOwnedDecorations;
293 std::vector<fsPoint> mClearedCells;
295 fsS32 mForestLayerId;
297 fsS32 mParkReputation;
298 fsS32 mReputationSettledDay;
300 fsS32 mRuntimeSlotSequence;
302 std::unique_ptr<gfCParkDaySim> mSim;
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCUserSavedData.h:25
Definition fsIComponent.h:26
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
Definition gfCParkDaySim.h:25
fsS32 dayRemainingMsGet() const
Definition gfCParkLevelComponent.h:53
void listenersRegisterDo() override
Definition gfCParkLevelComponent.cpp:1359
gfCParkDaySim * simGet()
Definition gfCParkLevelComponent.h:57
fsBool runtimeSlotPositionGet(const fsStr &pSlotName, fsVec2d &pOut) const
Definition gfCParkLevelComponent.cpp:599
static fsCEntity * decorationPresentationPlace(fsNTileMap::fsCView *pView, const fsStr &pImage, fsS32 pDrawWidth, fsS32 pLocalX, fsS32 pLocalY)
Definition gfCParkLevelComponent.cpp:430
void levelCreate(const fsStr &pLevelName, fsBool pResume)
Definition gfCParkLevelComponent.cpp:201
void listenersDeregisterDo() override
Definition gfCParkLevelComponent.cpp:1365
fsBool serviceBuildingPlace(fsNTileMap::fsCView *pView, const fsStr &pImage, const fsStr &pServiceType, fsS32 pServiceTimeMs, fsS32 pMaxQueueLength, fsS32 pVisitorQuota, fsS32 pVisitorAppeal, fsS32 pDrawWidth, fsS32 pFootprintColumns, fsS32 pFootprintRows, fsS32 pLocalX, fsS32 pLocalY)
Definition gfCParkLevelComponent.cpp:554
fsBool cellForestGet(fsNTileMap::fsCView *pView, fsS32 pCol, fsS32 pRow) const
Definition gfCParkLevelComponent.cpp:761
virtual ~gfCParkLevelComponent()
Definition gfCParkLevelComponent.cpp:1622
friend class fsCComponentFactory
Definition gfCParkLevelComponent.h:42
const gfCParkDaySim * simGet() const
Definition gfCParkLevelComponent.h:56
fsBool finalDayGet() const
Definition gfCParkLevelComponent.h:55
void dayAdvance()
Definition gfCParkLevelComponent.cpp:1303
static const fsCUniqueId mTypeId
Definition gfCParkLevelComponent.h:46
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCParkLevelComponent.cpp:1371
fsBool parkPlacementValid(fsNTileMap::fsCView *pView, fsS32 pLocalX, fsS32 pLocalY, fsS32 pFootprintColumns, fsS32 pFootprintRows) const
Definition gfCParkLevelComponent.cpp:638
fsBool forestClearAt(fsNTileMap::fsCView *pView, fsS32 pCol, fsS32 pRow)
Definition gfCParkLevelComponent.cpp:1013
fsVec2d cellCentreLocal(fsNTileMap::fsCView *pView, fsS32 pCol, fsS32 pRow) const
Definition gfCParkLevelComponent.cpp:811
void decorationPlacedRecord(const fsStr &pImage, fsS32 pDrawWidth, fsS32 pFootprintColumns, fsS32 pFootprintRows, fsS32 pLocalX, fsS32 pLocalY, fsS32 pVisitorAppeal=0, fsS32 pVisitorComfort=0)
Definition gfCParkLevelComponent.cpp:491
void updateDo(fsS32 pDeltaMs) override
Definition gfCParkLevelComponent.cpp:1314
void staffDeployedRecord(const fsStr &pSlotName)
Definition gfCParkLevelComponent.cpp:1240
static fsIComponent *const create(fsCEntity *const pParent)
Definition gfCParkLevelComponent.cpp:1602
fsPoint nearestReachableCell(fsNTileMap::fsCView *pView, const fsPoint &pFrom, const fsPoint &pDesired) const
Definition gfCParkLevelComponent.cpp:935
fsPoint nearestWalkableCell(fsNTileMap::fsCView *pView, const fsPoint &pCell) const
Definition gfCParkLevelComponent.cpp:901
void repairArmedSet(fsBool pArmed)
Definition gfCParkLevelComponent.h:183
void staffRecalledRecord(const fsStr &pSlotName)
Definition gfCParkLevelComponent.cpp:1252
fsS32 lastDayWagesGet() const
Definition gfCParkLevelComponent.h:177
fsS32 forestClearCostGet() const
Definition gfCParkLevelComponent.cpp:999
std::vector< fsPoint > pathFindCells(fsNTileMap::fsCView *pView, const fsPoint &pFrom, const fsPoint &pTo) const
Definition gfCParkLevelComponent.cpp:820
void progressSave() const
Definition gfCParkLevelComponent.cpp:1401
fsS32 parkReputationGet() const
Definition gfCParkLevelComponent.h:178
void staffHiredRecord(const fsStr &pStaffType, fsS32 pWage)
Definition gfCParkLevelComponent.cpp:1222
fsS32 dailyWagesGet() const
Definition gfCParkLevelComponent.cpp:1230
fsBool repairArmedGet() const
Definition gfCParkLevelComponent.h:182
fsPoint cellFromLocal(fsNTileMap::fsCView *pView, const fsVec2d &pLocal) const
Definition gfCParkLevelComponent.cpp:794
void progressPersist()
Definition gfCParkLevelComponent.cpp:1477
gfCParkLevelComponent(fsCEntity *const pParent)
Definition gfCParkLevelComponent.cpp:1607
fsS32 dayIndexGet() const
Definition gfCParkLevelComponent.h:54
fsBool cellWalkableGet(fsNTileMap::fsCView *pView, fsS32 pCol, fsS32 pRow) const
Definition gfCParkLevelComponent.cpp:780
void slotPurchasedRecord(const fsStr &pSlotName, fsS32 pServiceTimeMs, fsS32 pMaxQueueLength, const fsStr &pBuildingImage, fsS32 pVisitorQuota=0, fsS32 pVisitorAppeal=0)
Definition gfCParkLevelComponent.cpp:1123
static const fsS32 mNumDays
Definition gfCParkLevelComponent.h:47
static fsCEntity * serviceBuildingPresentationPlace(fsNTileMap::fsCView *pView, const fsStr &pSlotName, const fsStr &pImage, fsS32 pDrawWidth, fsS32 pLocalX, fsS32 pLocalY)
Definition gfCParkLevelComponent.cpp:508
fsBool runtimeSlotGetByIndex(fsS32 pIndex, fsStr &pNameOut, fsVec2d &pPositionOut) const
Definition gfCParkLevelComponent.cpp:612
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsIMessageDispatcher.h:32