28 #ifndef HPL_TILEDATA_H 29 #define HPL_TILEDATA_H 31 #include "hpl1/engine/graphics/Graphics.h" 32 #include "hpl1/engine/graphics/GraphicsTypes.h" 33 #include "hpl1/engine/graphics/Material.h" 34 #include "hpl1/engine/graphics/Mesh2d.h" 35 #include "hpl1/engine/resources/ImageManager.h" 36 #include "hpl1/engine/resources/ResourceImage.h" 40 enum eTileCollisionType {
41 eTileCollisionType_None,
42 eTileCollisionType_Normal,
43 eTileCollisionType_OnlyDown,
44 eTileCollisionType_LastEnum
49 eTileDataType_LastEnum
57 virtual void Destroy() = 0;
58 virtual bool IsSolid() = 0;
59 virtual eTileDataType GetType() = 0;
73 bool IsSolid() {
return mbIsSolid; }
74 void SetIsSolid(
bool abIsSolid) { mbIsSolid = abIsSolid; }
76 eTileCollisionType GetCollisionType() {
return mCollisionType; }
77 void SetCollisionType(eTileCollisionType aCollisionType) { mCollisionType = aCollisionType; }
79 eTileDataType GetType() {
return eTileDataType_Normal; }
80 tVertexVec *GetVertexVec(eTileRotation aRotation);
81 tUIntVec *GetIndexVec(eTileRotation aRotation);
83 tVertexVec *GetCollideVertexVec(eTileRotation aRotation);
84 tUIntVec *GetCollideIndexVec(eTileRotation aRotation);
86 iMaterial *GetMaterial() {
return mpMaterial; }
88 cMesh2D *GetMesh() {
return mpMesh; }
93 void SetCollideMesh(
cMesh2D *apCollideMesh);
101 tVertexVec *mvCollideVtx[eTileRotation_LastEnum];
107 eTileCollisionType mCollisionType;
116 #endif // HPL_TILEDATA_H
Definition: TileData.h:67
Definition: TileData.h:53
Definition: ImageManager.h:48
Definition: Material.h:203