43 int getHeight()
const;
48 int getCell(
int x,
int y)
const;
58 void setDetail(
int x,
int y,
int value);
60 int getDetail(
int x,
int y)
const;
63 void setMeta(
const std::string &
key,
const std::string &
value);
65 std::string getMeta(
const std::string &
key,
const std::string &
defaultValue)
const;
67 const std::unordered_map<std::string, std::string> &
metadata()
const {
return meta_; }
72 void addObjectAt(
const std::string &
name,
const std::string &
type,
float x,
float y);
74 void addObject(
const std::string &
name,
const std::string &
type,
float x,
float y,
float width,
77 void addAssetObject(
const std::string &
name,
const std::string &role,
78 const std::string &asset,
float x,
float y,
float width,
float height,
81 int getObjectCount()
const;
83 std::string getObjectName(
int i)
const;
85 std::string getObjectType(
int i)
const;
87 float getObjectX(
int i)
const;
89 float getObjectY(
int i)
const;
91 float getObjectWidth(
int i)
const;
93 float getObjectHeight(
int i)
const;
95 int getObjectGid(
int i)
const;
97 std::string getObjectAsset(
int i)
const;
99 float getObjectRotation(
int i)
const;
101 int getObjectFlags(
int i)
const;
104 const std::vector<uint32_t> &
cells()
const {
return cells_; }
106 std::vector<uint32_t> &
cells() {
return cells_; }
108 const std::vector<uint8_t> &
detail()
const {
return detail_; }
110 std::vector<uint8_t> &
detail() {
return detail_; }
112 const std::vector<GridObject> &
objects()
const {
return objects_; }
115 bool inBounds(
int x,
int y)
const;
119 std::vector<uint32_t> cells_;
120 std::vector<uint8_t> detail_;
121 std::unordered_map<std::string, std::string> meta_;
122 std::vector<GridObject> objects_;