Fission FSN
Loading...
Searching...
No Matches
gfCAutoTestLevelPlayComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCAutoTestLevelPlayComponent.h
4*
5* Purpose: Auto play levels - fuzzes the input path, never resolves
6* the scene directly. Completion is auto-load's job.
7*
8*********************************************************************/
9
10#ifndef gfCAutoTestLevelPlayComponenthdr
11#define gfCAutoTestLevelPlayComponenthdr
12
14
16#include "gfCAutoTestAim.h"
17#include "gfCAutoTestOverlay.h"
18#include "gfCAutoTestPointer.h"
19#include "gfCAutoTestSweep.h"
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29
31
32protected:
33
34 void listenersRegisterDo() override;
35 void listenersDeregisterDo() override;
36 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
37 const fsIMessageDispatcher::sMessageParameters& pParam) override;
38
39 void testUpdateDo(fsS32 pDeltaMs) override;
40 void pausedSetDo(fsBool pPaused) override;
41
42 void clearUpDo() override;
43
45
46 // One step of play, once the Gui layer had nothing to click.
47 virtual void levelInteractDo();
48
49 static fsIComponent* create(fsCEntity* pParent);
50
52
53private:
54
55 void newLevel();
56 void rndSeedApply();
57
58 // Forces locks open - only when aiming is off, so a blind fuzz is not walled out.
59 void locksAndKeysClear();
60
61 // Nothing collected for a while: the sweep cannot reach behind an unopened
62 // door, nor tap out of the sub-scene it is confined to.
63 fsBool stallEscalateTry();
64 fsBool subSceneOpenTry();
65 void subSceneExitTap(fsCEntity* pExitEnt);
66
67 // Releases a drag in flight, and forgets any verdict it owed.
68 void dragRelease();
69
70 void sequencedTap();
71 void randomTap();
72
73 // Interaction steps - a drag in flight is one step, however many frames it takes.
74 fsS32 mStepCount;
75 fsS32 mRunningTime;
76 const fsS32 mMaxRunningTime;
77
78 const fsS32 mDragEveryNth;
79 const fsS32 mRandomTapEveryNth;
80 // 0 turns aiming off, leaving a purely blind fuzz.
81 const fsS32 mAimEveryNth;
82 // Jigsaw pieces aim on their own cadence; 0 leaves them to blind drags.
83 const fsS32 mJigsawAimEveryNth;
84
85 fsS32 mSubSceneNavCursor;
86
87 // Time since anything was last collected, and how long before escalating.
88 fsS32 mStallMs;
89 const fsS32 mStallEscalateMs;
90
91 gfCAutoTestOverlay mOverlay;
92 gfCAutoTestSweep mSweep;
93 gfCAutoTestPointer mPointer;
94 gfCAutoTestAim mAim;
95};
96
97#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition gfCAutoTestAim.h:28
void listenersRegisterDo() override
Definition gfCAutoTestLevelPlayComponent.cpp:265
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCAutoTestLevelPlayComponent.cpp:278
friend class fsCComponentFactory
Definition gfCAutoTestLevelPlayComponent.h:24
void listenersDeregisterDo() override
Definition gfCAutoTestLevelPlayComponent.cpp:272
static fsIComponent * create(fsCEntity *pParent)
Definition gfCAutoTestLevelPlayComponent.cpp:387
void testUpdateDo(fsS32 pDeltaMs) override
Definition gfCAutoTestLevelPlayComponent.cpp:197
virtual ~gfCAutoTestLevelPlayComponent()
Definition gfCAutoTestLevelPlayComponent.cpp:423
static const fsCUniqueId mTypeId
Definition gfCAutoTestLevelPlayComponent.h:28
virtual void levelInteractDo()
Definition gfCAutoTestLevelPlayComponent.cpp:125
void pausedSetDo(fsBool pPaused) override
Definition gfCAutoTestLevelPlayComponent.cpp:248
gfCAutoTestLevelPlayComponent(fsCEntity *pParent)
Definition gfCAutoTestLevelPlayComponent.cpp:399
void clearUpDo() override
Definition gfCAutoTestLevelPlayComponent.cpp:392
fsBool doUserInputReplicate() override
Definition gfCAutoTestLevelPlayComponent.cpp:40
Definition gfCAutoTestOverlay.h:22
Definition gfCAutoTestPointer.h:24
Definition gfCAutoTestSweep.h:24
gfIAutoTestLevelUserInputComponent(fsCEntity *pParent)
Definition gfIAutoTestUserInputComponent.cpp:382
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32