Fission FSN
Loading...
Searching...
No Matches
fsITileMap.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 19/6/2014 16:53
4*
5* Purpose: Wrap up all the tile map functionality
6*
7*********************************************************************/
8
9#ifndef fsITileMaphdr
10#define fsITileMaphdr
11
12#include <vector>
13
14#include <fsCore/fsStr.h>
15#include <fsCore/fsPoint.h>
17
18#include "fsILayer.h"
19#include "fsTileMapForward.h"
20
21class fsCResourceName;
22
23namespace fsNTileMap
24{
25 class fsITileSet;
26 class fsCTile;
27
29 {
30 public:
31
32 std::vector<fsIObjectRef> triggersGet(fsS32 pLayer) const;
33
34 virtual fsPoint startLocationGet() const;
35
36 std::shared_ptr<fsCBrush> tileBrushGet(fsS32 pTileSetId, fsS32 pTileId) const;
38 fsStr layerNameGet(fsS32 pLayer) const;
39 fsStr imagePathGet(fsS32 pLayer) const;
40 fsPoint layerOffsetGet(fsS32 pLayer) const;
41 fsBool collidable(fsS32 pTileSetId, fsS32 pTileId) const;
42 const fsITileRef tileGet(fsS32 pLayer, fsS32 pX, fsS32 pY) const;
43
44 virtual fsS32 layerCountGet() const = 0;
45 virtual fsS32 tileSetCountGet() const = 0;
46
47 virtual fsS32 heightGet() const = 0;
48 virtual fsS32 widthGet() const = 0;
49 virtual fsS32 tileHeightGet() const = 0;
50 virtual fsS32 tileWidthGet() const = 0;
51
52 static fsITileMap* const create(const fsCResourceName& pFilename);
53
57 static fsITileMap* const createFromText(const fsStr& pText, const fsStr& pFilepath = "");
58
59 virtual ~fsITileMap();
60
61 protected:
62
63 fsITileMap() = default;
64
65 std::vector< fsILayer* > mLayers;
66 std::vector< fsITileSet* > mTileSets;
67
68 private:
69
70 };
71}
72
73#endif
74
Definition fsCResourceName.h:32
eType
Definition fsILayer.h:27
std::vector< fsILayer * > mLayers
Definition fsITileMap.h:65
fsStr imagePathGet(fsS32 pLayer) const
Definition fsITileMap.cpp:55
std::shared_ptr< fsCBrush > tileBrushGet(fsS32 pTileSetId, fsS32 pTileId) const
Definition fsITileMap.cpp:40
virtual fsS32 layerCountGet() const =0
static fsITileMap *const createFromText(const fsStr &pText, const fsStr &pFilepath="")
Definition fsITileMap.cpp:80
fsILayer::eType layerTypeGet(fsS32 pLayer) const
Definition fsITileMap.cpp:45
fsPoint layerOffsetGet(fsS32 pLayer) const
Definition fsITileMap.cpp:60
virtual fsS32 heightGet() const =0
const fsITileRef tileGet(fsS32 pLayer, fsS32 pX, fsS32 pY) const
Definition fsITileMap.cpp:65
std::vector< fsIObjectRef > triggersGet(fsS32 pLayer) const
Definition fsITileMap.cpp:18
virtual fsS32 tileSetCountGet() const =0
fsBool collidable(fsS32 pTileSetId, fsS32 pTileId) const
Definition fsITileMap.cpp:70
std::vector< fsITileSet * > mTileSets
Definition fsITileMap.h:66
virtual fsS32 tileHeightGet() const =0
static fsITileMap *const create(const fsCResourceName &pFilename)
Definition fsITileMap.cpp:75
virtual ~fsITileMap()
Definition fsITileMap.cpp:85
virtual fsPoint startLocationGet() const
Definition fsITileMap.cpp:23
virtual fsS32 widthGet() const =0
fsStr layerNameGet(fsS32 pLayer) const
Definition fsITileMap.cpp:50
virtual fsS32 tileWidthGet() const =0
Definition fsITileSet.h:22
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsILayer.h:21
std::shared_ptr< fsITile > fsITileRef
Definition fsTileMapForward.h:21
Definition fsPoint.h:17