112 virtual void Create()
override;
113 virtual void Destroy()
override;
131 void RebuildTileGrid();
134 int32_t GetNumTiles()
const;
139 glm::ivec2 TileIndexToAtlasCoord(int32_t tileIndex)
const;
143 bool GetTileUVs(int32_t tileIndex, glm::vec2& outUV0, glm::vec2& outUV1)
const;
149 bool IsTileSolid(int32_t tileIndex)
const;
150 bool HasTileTag(int32_t tileIndex,
const std::string& tag)
const;
152 const std::vector<TileDefinition>&
GetTiles()
const {
return mTiles; }
157 int32_t AddNineBoxBrush(
const std::string& name);
158 void RemoveNineBoxBrush(int32_t index);
163 int32_t AddAutotileSet(
const std::string& name);
164 void RemoveAutotileSet(int32_t index);
168 bool IsTileMemberOfAutotile(int32_t autotileIndex, int32_t tileIndex)
const;
174 int32_t MatchAutotileRule(int32_t autotileIndex, uint8_t selfMask)
const;
176 static bool HandlePropChange(
class Datum* datum, uint32_t index,
const void* newValue);
181 int32_t mTileWidth = 16;
182 int32_t mTileHeight = 16;
183 int32_t mMarginX = 0;
184 int32_t mMarginY = 0;
185 int32_t mSpacingX = 0;
186 int32_t mSpacingY = 0;
188 int32_t mAtlasColumns = 0;
189 int32_t mAtlasRows = 0;
Platform
Definition EngineTypes.h:31
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
AutotileNeighborState
Definition TileSet.h:79
TileCollisionType
Definition TileSet.h:15
virtual void Create()
Definition Asset.cpp:77
virtual void SaveStream(Stream &stream, Platform platform)
Definition Asset.cpp:236
virtual glm::vec4 GetTypeColor()
Definition Asset.cpp:254
virtual const char * GetTypeName()
Definition Asset.cpp:259
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Asset.cpp:249
virtual void LoadStream(Stream &stream, Platform platform)
Definition Asset.cpp:222
virtual void Destroy()
Definition Asset.cpp:87
virtual bool ShouldSnapshotForPie() const override
Definition TileSet.h:117
int32_t GetTileHeight() const
Definition TileSet.h:123
int32_t GetTileWidth() const
Definition TileSet.h:122
std::vector< NineBoxBrushDef > & GetNineBoxBrushesMutable()
Definition TileSet.h:156
int32_t GetSpacingY() const
Definition TileSet.h:127
DECLARE_ASSET(TileSet, Asset)
int32_t GetMarginY() const
Definition TileSet.h:125
AssetRef mTexture
Definition TileSet.h:180
std::vector< NineBoxBrushDef > mNineBoxBrushes
Definition TileSet.h:192
std::vector< AutotileSet > & GetAutotileSetsMutable()
Definition TileSet.h:162
const std::vector< AutotileSet > & GetAutotileSets() const
Definition TileSet.h:161
std::vector< AutotileSet > mAutotileSets
Definition TileSet.h:193
int32_t GetSpacingX() const
Definition TileSet.h:126
const std::vector< NineBoxBrushDef > & GetNineBoxBrushes() const
Definition TileSet.h:155
const std::vector< TileDefinition > & GetTiles() const
Definition TileSet.h:152
std::vector< TileDefinition > mTiles
Definition TileSet.h:191
glm::ivec2 GetAtlasGridSize() const
Definition TileSet.h:136
int32_t GetMarginX() const
Definition TileSet.h:124
std::vector< int32_t > mResultTiles
Definition TileSet.h:90
AutotileNeighborState mNeighbors[8]
Definition TileSet.h:89
std::string mName
Definition TileSet.h:95
std::vector< AutotileRule > mRules
Definition TileSet.h:98
std::vector< std::string > mMemberTags
Definition TileSet.h:96
std::vector< int32_t > mMemberTileIndices
Definition TileSet.h:97
std::string mName
Definition TileSet.h:51
int32_t mBottomRight
Definition TileSet.h:61
int32_t mTopLeft
Definition TileSet.h:53
int32_t mTop
Definition TileSet.h:54
int32_t mTopRight
Definition TileSet.h:55
int32_t mCenter
Definition TileSet.h:57
int32_t mLeft
Definition TileSet.h:56
int32_t mBottomLeft
Definition TileSet.h:59
int32_t mBottom
Definition TileSet.h:60
std::vector< std::string > mTags
Definition TileSet.h:63
int32_t mRight
Definition TileSet.h:58
std::vector< std::string > mTags
Definition TileSet.h:34
float mAnimFps
Definition TileSet.h:45
TileCollisionType mCollisionType
Definition TileSet.h:37
std::string mName
Definition TileSet.h:33
std::vector< glm::vec4 > mCollisionRects
Definition TileSet.h:40
std::vector< glm::vec2 > mCollisionPoly
Definition TileSet.h:41
bool mHasCollision
Definition TileSet.h:36
glm::ivec2 mAtlasCoord
Definition TileSet.h:32
std::vector< int32_t > mAnimFrames
Definition TileSet.h:44
bool mIsAnimated
Definition TileSet.h:43
int32_t mTileIndex
Definition TileSet.h:31