27#include <glm/mat4x4.hpp>
40namespace eve::map {
class TileLayer; }
66 void setSideDepth(
float depth);
68 float getSideDepth()
const;
70 void setHeightScale(
float scale);
72 float getHeightScale()
const;
74 void setWallUV(
float u0,
float v0,
float u1,
float v1);
76 void setTint(
float r,
float g,
float b,
float a = 1.f);
97 float sideDepth_ = 6.f;
98 float heightScale_ = 1.f;
99 float wallU0_ = 0.f, wallV0_ = 0.f, wallU1_ = 0.05f, wallV1_ = 0.05f;
100 float tintR_ = 1.f, tintG_ = 1.f, tintB_ = 1.f, tintA_ = 1.f;
134 void setFrame(
float u0,
float v0,
float u1,
float v1);
136 void getFrame(
float &u0,
float &v0,
float &u1,
float &v1)
const;
138 void setFlipX(
bool flip);
140 void setFlipY(
bool flip);
145 int getFrameGridColumns()
const;
147 int getFrameGridRows()
const;
149 void setFrameIndex(
int index);
151 int getFrameIndex()
const;
153 int getFrameCount()
const;
160 void play(
int start,
int end,
float fps);
164 bool isPlaying()
const;
172 void update(
float dt);
198 void setPivot(
float x,
float y);
200 void setPosition(
float x,
float y,
float z);
202 float getPositionX()
const;
204 float getPositionY()
const;
206 float getPositionZ()
const;
210 float getWidth()
const;
212 float getHeight()
const;
214 void setTint(
float r,
float g,
float b,
float a = 1.f);
218 bool getVisible()
const;
224 void setAlphaCutoff(
float cutoff);
226 float getAlphaCutoff()
const;
231 void setDepthWrite(
bool enabled);
233 bool getDepthWrite()
const;
235 void setDoubleSided(
bool enabled);
237 bool getDoubleSided()
const;
242 void setBillboardMode(
const std::string &mode);
244 std::string getBillboardMode()
const;
255 bool playing =
false;
259 void updateFrameUv();
260 void orientToCamera();
270 float u0_ = 0.f, v0_ = 0.f, u1_ = 1.f, v1_ = 1.f;
271 bool flipX_ =
false, flipY_ =
false;
274 int gridCols_ = 1, gridRows_ = 1;
279 float x_ = 0.f, y_ = 0.f, z_ = 0.f;
280 float width_ = 1.f, height_ = 1.f;
281 float pivotX_ = 0.5f, pivotY_ = 0.5f;
282 float tintR_ = 1.f, tintG_ = 1.f, tintB_ = 1.f, tintA_ = 1.f;
283 bool visible_ =
true;
284 float alphaCutoff_ = 0.5f;
285 bool depthWrite_ =
true;
286 bool doubleSided_ =
true;
287 bool yawBillboard_ =
false;
303 void setFocusDistance(
float distance);
307 void setMaxBlur(
float blurPx);
311 void setFocusRange(
float range);
315 void setBloomIntensity(
float intensity);
319 void setBloomThreshold(
float threshold);
346 float focusDistance_ = 18.f;
347 float maxBlurPx_ = 5.f;
348 float focusRange_ = 14.f;
349 float bloomIntensity_ = 0.35f;
350 float bloomThreshold_ = 1.2f;
#define EVENGINE_API_DOMAINS
std::array< float, 3 > scale
EVENGINE_API_FOUNDATION public API.
EVENGINE_API_BACKENDS public API.
GPU mesh handle (+ optional CPU morph targets).
EVENGINE_API_BACKENDS public API.
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
HD-2D module: tilemap-to-3D extrusion + 2D sprites as 3D billboards.
HD-2D presentation look inspired by HD2DURP (DOF + bloom + pixel sampling).
float getFocusRange() const
Returns the focus range.
float getMaxBlur() const
Returns the max blur.
Hd2dLook()=default
Hd 2 d look.
float getBloomThreshold() const
Returns the bloom threshold.
float getBloomIntensity() const
Returns the bloom intensity.
float getFocusDistance() const
Returns the focus distance.
Camera-facing 2D sprite billboard rendered inside the 3D scene.
Sprite3D(const Sprite3D &)=delete
graphics::Mesh * quadMesh() const
Quad mesh.
Sprite3D & operator=(const Sprite3D &)=delete
Extrudes a 2D tile layer into a 3D terrain mesh (HD-2D ground).
int getTileCount() const
Number of box tiles baked by the last build.
TileMap3D()=default
Tile map 3 d.
TileMap3D(const TileMap3D &)=delete
TileMap3D & operator=(const TileMap3D &)=delete
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas ...
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectang...