载入中...
搜索中...
未找到
TileLayerTarget.cpp
浏览该文件的文档.
2
3#include "map/TileLayer.h"
4
5#include <utility>
6
7namespace eve::map_editing {
8
10 : id_(std::move(id)), layer_(layer) {}
11
12std::uint64_t TileLayerTarget::revision() const { return layer_ ? layer_->tiles()->revision : 0; }
13int TileLayerTarget::width() const { return layer_ ? layer_->getMapWidth() : 0; }
14int TileLayerTarget::height() const { return layer_ ? layer_->getMapHeight() : 0; }
15bool TileLayerTarget::containsCell(int x, int y) const {
16 return layer_ && x >= 0 && y >= 0 && x < width() && y < height();
17}
18int TileLayerTarget::readInt(int x, int y) const { return containsCell(x, y) ? layer_->getTile(x, y) : 0; }
26
27std::unique_ptr<TileLayerTarget> createTileLayerTarget(std::string id, map::TileLayer* layer) {
28 return std::make_unique<TileLayerTarget>(std::move(id), layer);
29}
30
31} // namespace eve::map_editing
double value
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
TileLayer * layer
std::string id
Definition PlayHost.cpp:108
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas ...
Definition TileLayer.h:32
void setTile(int tx, int ty, int gid)
Tile GID access; 0 = empty.
Definition TileLayer.cpp:56
int getTile(int tx, int ty)
Definition TileLayer.cpp:72
int getMapWidth()
Map dimensions in tiles.
Definition TileLayer.cpp:35
std::uint64_t revision() const override
Revision.
int width() const override
Width.
int readInt(int x, int y) const override
Reads int.
TileLayerTarget(std::string id, map::TileLayer *layer)
Bind a live layer which must outlive this adapter.
int height() const override
Height.
bool containsCell(int x, int y) const override
True if cell.
editing::FieldWriteStatus writeInt(int x, int y, int value) override
Writes int.
FieldWriteStatus
FieldWriteStatus public API.
std::unique_ptr< TileLayerTarget > createTileLayerTarget(std::string id, map::TileLayer *layer)
Create a map-layer adapter.
void include(int x, int y)
Include.