44 Pathfinder *newPathfinderSize(
int mapW,
int mapH);
49 Fov *newFovSize(
int mapW,
int mapH);
51 Fov *newFovVolume(
int mapW,
int mapH,
int depth);
69 int loadFromFile(
const std::string &
path);
81 std::string_view contractJson);
92 [[nodiscard]]
eve::Result<int> loadFromTextWithObjectContract(std::string_view mapJson,
93 std::string_view contractJson);
96 void update(
float dt);
102 int getLastVisibleTileCount()
const;
104 int getLastCustomVisualCount()
const;
106 int getLastAtlasCount()
const;
108 int getLastVisitedChunkCount()
const;
110 int getLastVisitedCellCount()
const;
115 int getCollisionRectCount()
const;
117 float getCollisionRectX(
int index)
const;
119 float getCollisionRectY(
int index)
const;
121 float getCollisionRectWidth(
int index)
const;
123 float getCollisionRectHeight(
int index)
const;
126 int getLayerCount()
const;
131 int getObjectCount()
const;
133 std::string getObjectName(
int i)
const;
135 std::string getObjectType(
int i)
const;
137 float getObjectX(
int i)
const;
139 float getObjectY(
int i)
const;
141 float getObjectWidth(
int i)
const;
143 float getObjectHeight(
int i)
const;
145 int getObjectGid(
int i)
const;
155 int getObjectPropertyCount(
int objectIndex)
const;
166 std::string getObjectPropertyName(
int objectIndex,
int propertyIndex)
const;
176 [[nodiscard]]
bool hasObjectProperty(
int objectIndex, std::string_view
name)
const;
189 [[nodiscard]] std::string getObjectProperty(
int objectIndex, std::string_view
name,
201 [[nodiscard]] std::optional<std::size_t> findObjectByName(std::string_view
name)
const;
214 [[nodiscard]] std::optional<std::size_t> findObjectAt(
float x,
float y,
215 std::string_view
type = {})
const;
218 void setObjects(std::vector<MapObject> objects);
225 bool resolveDualGrid(TileLayer *logic, TileLayer *display);
227 bool resolveDualGridFilled(TileLayer *logic, TileLayer *display,
int filledGid);
229 int dualGridMaskAt(TileLayer *logic,
int dx,
int dy,
int filledGid);
231 int dualGridFrame(
int mask);
233 float dualGridOffsetX(TileLayer *logic);
235 float dualGridOffsetY(TileLayer *logic);
237 std::string lastDualGridError()
const;
240 std::vector<MapObject> objects_;
241 std::vector<TileLayer *> loadedLayers_;
242 std::string dualGridError_;
243 std::vector<TileCollisionRect> collisionRects_;