Fission FSN
Loading...
Searching...
No Matches
gfCRotateCutterComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCRotateCutterComponent.h
4*
5* Purpose: Cutter to create rotate minigame tiles
6*
7*********************************************************************/
8
9#ifndef gfCRotateCutterComponenthdr
10#define gfCRotateCutterComponenthdr
11
13
15{
16 friend class fsCComponentFactory;
17
18public:
19
20 static const fsCUniqueId mTypeId;
21 static const fsStr mEntityPrefix;
22
23 void minigameEntitiesCreate(const fsCVariableTable& pStyle, const fsStr& pLevelName, fsCEntity* pParent,
24 const fsStr& pAutoMiniGameSourceArt, gfIMinigameLogic* pMingameLogic) override;
25
26 void stencilsCreate() override;
27
28protected:
29
30 fsStr minigamePieceNameGet() const override;
31 void doCut(fsCEntity* pEnt, gfIStencil* pStencil, fsBool pFirstTime) override;
32 gfIStencil* const stencilRestore() override;
33 void doSetup(const fsCVariableTable& pStyle, const fsStr& pLevelName) override;
34
35 static fsIComponent* create(fsCEntity* pParent);
36
39
40private:
41
42 void entityCreate(fsS32 pCol, fsS32 pRow, const fsCVariableTable& pStyle);
43 void stencilRestore(fsS32 pCol, fsS32 pRow, fsS32 pWidth, fsS32 pHeight);
44 void tessellatedStencilCreate(fsS32 pCol, fsS32 pRow, fsS32 pDivisions);
45
46 fsBool tessellatedTileIndexGet(fsS32 pCol, fsS32 pRow) const;
47 void tessellatedEntityCreate(fsS32 pCol, fsS32 pRow, fsS32 pDivisions, const fsCVariableTable& pStyle);
48 void tessellatedIndicesStore(const fsCVariableTable& pStyle);
49 void randomTesselatedIndicesAdd();
50
51 std::shared_ptr<fsCBrush> mTessellatedStencilTexture;
52 std::vector<fsS32> mTessellatedIndices;
53};
54
55#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsStr.h:23
fsStr minigamePieceNameGet() const override
Definition gfCRotateCutterComponent.cpp:25
void minigameEntitiesCreate(const fsCVariableTable &pStyle, const fsStr &pLevelName, fsCEntity *pParent, const fsStr &pAutoMiniGameSourceArt, gfIMinigameLogic *pMingameLogic) override
Definition gfCRotateCutterComponent.cpp:123
void doCut(fsCEntity *pEnt, gfIStencil *pStencil, fsBool pFirstTime) override
Definition gfCRotateCutterComponent.cpp:68
friend class fsCComponentFactory
Definition gfCRotateCutterComponent.h:16
void doSetup(const fsCVariableTable &pStyle, const fsStr &pLevelName) override
Definition gfCRotateCutterComponent.cpp:49
virtual ~gfCRotateCutterComponent()
Definition gfCRotateCutterComponent.cpp:213
static const fsStr mEntityPrefix
Definition gfCRotateCutterComponent.h:21
static const fsCUniqueId mTypeId
Definition gfCRotateCutterComponent.h:20
gfCRotateCutterComponent(fsCEntity *pParent)
Definition gfCRotateCutterComponent.cpp:208
void stencilsCreate() override
Definition gfCRotateCutterComponent.cpp:82
static fsIComponent * create(fsCEntity *pParent)
Definition gfCRotateCutterComponent.cpp:203
gfIStencil *const stencilRestore() override
Definition gfCRotateCutterComponent.cpp:30
Definition gfIMinigameLogic.h:16
gfISimpleCutterComponent(fsCEntity *pParent)
Definition gfISimpleCutterComponent.cpp:27
Definition gfIStencil.h:22
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20