Fission FSN
Loading...
Searching...
No Matches
fsC3dSceneSpriteComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 4/11/2014 15:46
4*
5* File: fsC3dSceneSpriteComponent.h
6*
7* Author: Martin P. King
8*
9* Purpose: A component which renders a 3d scene sprite to
10* the display.
11*
12*********************************************************************/
13
14#ifndef fsC3dSceneSpriteComponenthdr
15#define fsC3dSceneSpriteComponenthdr
16
19
22class fsC3dSprite;
23
24
26{
27 friend class fsCComponentFactory;
28
29public:
30
31 static const fsCUniqueId mTypeId;
32 static const fsStr mEntityPrefix;
33
34 void initialise(const fsStr& pSceneFolder);
35
36protected:
37
38 static fsIComponent* create(fsCEntity* pParent);
39
40 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
41 void renderDo() override;
42 void updateDo(fsS32 pDeltaMs) override;
43 void matrixApplyDo() override;
44
47
48
49private:
50
51 fsBool modelFileExists(const fsCVariableTable& pSceneFile) const;
52
53 std::vector<fsStr> filenamesGet(const fsCVariableTable& pSceneFile, const fsStr& pKey);
54 void assetsLoad(const fsStr& pSceneFileName);
55
56 void modelAnimLoad(const fsCVariableTable& pSceneFile, const fsStr& pModelKey,
57 const fsStr& pModelName, std::shared_ptr<fsC3dSprite> pModel);
58
59 void modelPathLoad(const fsCVariableTable& pSceneFile, const fsStr& pModelKey,
60 const fsStr& pModelName, std::shared_ptr<fsC3dSprite> pModel);
61
62 void modelsLoad(const fsCVariableTable& pSceneFile, const fsStr& pModelKey, const fsStr& pModelName);
63 void cameraLoad(const fsCVariableTable& pSceneFile);
64
65 void assetGroupLoad(const fsStr& pAssetGroup, const fsCVariableTable& pSceneFile,
66 void (fsC3dSceneSpriteComponent::*pAssetLoader)(const fsCVariableTable& pSceneFile,
67 const fsStr& pModelKey,
68 const fsStr& pModelName));
69
70 static fsStr mModelKeyStem;
71 static fsStr mLightKeyStem;
72 static fsStr mCameraKey;
73
74 std::unique_ptr<fsC3dSceneSprite> mSceneSprite;
75};
76
77#endif
void matrixApplyDo() override
Definition fsC3dSceneSpriteComponent.cpp:32
static const fsCUniqueId mTypeId
Definition fsC3dSceneSpriteComponent.h:31
friend class fsCComponentFactory
Definition fsC3dSceneSpriteComponent.h:27
static fsIComponent * create(fsCEntity *pParent)
Definition fsC3dSceneSpriteComponent.cpp:283
static const fsStr mEntityPrefix
Definition fsC3dSceneSpriteComponent.h:32
virtual ~fsC3dSceneSpriteComponent()
Definition fsC3dSceneSpriteComponent.cpp:294
fsC3dSceneSpriteComponent(fsCEntity *pParent)
Definition fsC3dSceneSpriteComponent.cpp:288
void renderDo() override
Definition fsC3dSceneSpriteComponent.cpp:278
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsC3dSceneSpriteComponent.cpp:246
void updateDo(fsS32 pDeltaMs) override
Definition fsC3dSceneSpriteComponent.cpp:273
Definition fsC3dSceneSprite.h:33
Definition fsC3dSprite.h:29
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
void initialise()
Definition fsIComponent.cpp:51
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20