载入中...
搜索中...
未找到
Scene.h
浏览该文件的文档.
Definition Module.h:43
A playable audio source (static buffer or streaming decoder). Not thread-safe for playback control ex...
Definition Source.h:30
Definition RenderSystem3D.h:18
Default renderable entity for declarative 2D sprites / solid quads.
Definition RenderSystem.h:65
3D rigid body (Box3D) in meter-space coordinates (+Y up by convention). Owned by a World3D; create sh...
Definition Body3D.h:16
2D rigid body (Box2D) in pixel-space coordinates. Owned by a World; create shapes with newRectangleFi...
Definition Body.h:16
ECS mount point for one scene graph (full scene or nested subtree root). Isomorphic to eve::ui::UIHos...
Definition SceneHost.h:80
Script handle to a scene node (hostName + nodeId). Deliberately holds strings rather than arena point...
Definition SceneNodeRef.h:16
Per-node ECS identity (created lazily when a node needs script bindings or engine components)....
Definition SceneObject.h:21
void beginNode(const std::string &id, const std::string &name="")
Definition Scene.cpp:721
SceneNodeRef * getNodeRefByPathAt(const std::string &hostName, const std::string &path) const
Definition Scene.cpp:929
bool linkPhysics3DAt(const std::string &hostName, const std::string &nodeId, physics::Body3D *b, const std::string &mode)
Definition SceneNodes.cpp:114
SceneHost * resolveHost(const std::string &hostName) const
Host-qualified resolution: empty hostName → currently selected host.
Definition Scene.cpp:807
void setBuildSpace(const std::string &space)
Definition Scene.cpp:768
std::vector< std::string > collectIdsFrom(const std::string &id)
Definition SceneNodes.cpp:573
void updateTransforms()
Propagate transforms (+ link sync) for all hosts (or current if selected).
Definition Scene.cpp:660
bool setNodeParentAt(const std::string &hostName, const std::string &childId, const std::string &parentId)
Reparent by id; empty parentId detaches. Cycle-safe.
Definition SceneNodes.cpp:245
Module_REG(Scene)
bool linkCamera3DAt(const std::string &hostName, const std::string &nodeId, graphics::Camera3D *c)
Definition SceneNodes.cpp:123
std::string serializeHostAt(const std::string &hostName) const
Definition Scene.cpp:696
std::vector< std::string > collectIdsByTagAt(const std::string &hostName, const std::string &tag) const
Definition SceneNodes.cpp:356
std::vector< float > getNodeRotationAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:174
std::string findIdByPath(const std::string &path)
Definition SceneNodes.cpp:546
bool rootEntity(const std::string &hostName, const std::string &nodeId, ssq::Object instance)
Root one script instance on a node (creates SceneObject lazily).
Definition Scene.cpp:834
std::string pickScreenAt(const std::string &hostName, graphics::Camera3D *cam, float screenX, float screenY, float viewW, float viewH) const
Screen-space picking through a Camera3D (camera.screenToRay).
Definition ScenePicking.cpp:24
bool setNodeQuaternionAt(const std::string &hostName, const std::string &nodeId, float qx, float qy, float qz, float qw)
Definition SceneNodes.cpp:280
bool getNodeVisibleAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:190
std::vector< float > worldToLocalAt(const std::string &hostName, const std::string &nodeId, float x, float y, float z) const
Definition SceneNodes.cpp:235
SceneHost * remountAs(const std::string &name, NodeDesc root)
Creates/replaces a named host (does not select it).
Definition Scene.cpp:632
void setBuildRotation(float yaw, float pitch=0.f, float roll=0.f)
Definition Scene.cpp:754
void updateScripts(float dt)
updateTransformsAll() + call update(dt) on every rooted instance.
Definition Scene.cpp:898
std::vector< float > getNodePositionAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:166
SceneHost * findHost(const std::string &name) const
Finds a host by name, or nullptr.
Definition Scene.cpp:643
std::vector< float > getNodeWorldPositionAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:197
int getNodeLayerAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:376
bool linkPhysics2DAt(const std::string &hostName, const std::string &nodeId, physics::Body *b, const std::string &mode)
Definition SceneNodes.cpp:105
bool removeNodeAt(const std::string &hostName, const std::string &nodeId)
Detach node from its parent (arena node stays; rebuild to delete).
Definition SceneNodes.cpp:254
SceneHost * mountAs(const std::string &name, NodeDesc root)
Creates/replaces a named host from a NodeDesc tree and selects it.
Definition Scene.cpp:604
~Scene() override=default
SceneNodeRef * getNodeRefAt(const std::string &hostName, const std::string &nodeId) const
Definition Scene.cpp:921
std::vector< std::string > collectChildIds(const std::string &parentId)
Definition SceneNodes.cpp:589
void setHostVisible(bool visible)
Shows/hides every host (or the selected one when a host is selected).
Definition Scene.cpp:652
bool unlinkNodeAt(const std::string &hostName, const std::string &nodeId)
Remove every link on the node.
Definition SceneNodes.cpp:141
bool setNodePosition(const std::string &id, float x, float y, float z)
Script-friendly TRS setters on the current host; each marks the transform dirty.
Definition SceneNodes.cpp:25
std::vector< std::string > collectIdsVisible(bool visible)
Definition SceneNodes.cpp:584
bool linkAudio3DAt(const std::string &hostName, const std::string &nodeId, audio::Source *s)
Definition SceneNodes.cpp:132
bool setNodeLookAtAt(const std::string &hostName, const std::string &nodeId, float tx, float ty, float tz)
Orient node so its local +Z axis points at (tx,ty,tz).
Definition SceneNodes.cpp:303
std::vector< float > getNodeWorldRotationAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:205
void bindOwner(uint32_t ownerId)
Binds the selected host to a UI/scene owner id.
Definition Scene.cpp:647
std::string getNodePath(const std::string &id)
Definition SceneNodes.cpp:553
std::string findIdByName(const std::string &name)
Definition SceneNodes.cpp:539
int getChildCount(const std::string &id)
Definition SceneNodes.cpp:527
bool removeNodeTagAt(const std::string &hostName, const std::string &nodeId, const std::string &tag)
Definition SceneNodes.cpp:334
bool linkRenderable3DAt(const std::string &hostName, const std::string &nodeId, graphics::Renderable3D *r)
Definition SceneNodes.cpp:96
void setBuildPosition(float x, float y, float z=0.f)
Definition Scene.cpp:747
bool isAncestor(const std::string &ancestorId, const std::string &nodeId)
Definition SceneNodes.cpp:558
SceneHost * remountReconcile(NodeDesc root)
Remount with key reconcile (props-only when structure matches).
Definition Scene.cpp:624
bool setNodeScale(const std::string &id, float sx, float sy, float sz)
Sets the local scale of a node.
Definition SceneNodes.cpp:49
std::string getParentId(const std::string &id)
Definition SceneNodes.cpp:520
std::vector< std::string > collectIdsByName(const std::string &name)
Definition SceneNodes.cpp:579
void setHostLayer(int layer)
Sets the render layer of every host (or the selected one).
Definition Scene.cpp:656
bool unlinkNodeKindAt(const std::string &hostName, const std::string &nodeId, const std::string &kind)
Remove links of one kind ("renderable2d"|"renderable3d"|"physics2d"|...).
Definition SceneNodes.cpp:146
SceneHost * mount(NodeDesc root)
Mounts the tree as an auto-named host and selects it.
Definition Scene.cpp:614
std::vector< float > getNodeScaleAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:182
std::string nodeIdFromSpatialIdAt(const std::string &hostName, int index) const
Map a spatial-index id (arena index) back to a node id.
Definition SceneNodes.cpp:497
std::vector< std::string > getNodeTagsAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:348
void updateTransformsAll()
Propagate transforms for every host regardless of selection.
Definition Scene.cpp:665
int linkCountAt(const std::string &hostName, const std::string &nodeId)
Definition SceneNodes.cpp:157
bool hasNodeBoundsAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:446
bool deserializeHostAt(const std::string &hostName, const std::string &json)
Definition Scene.cpp:701
std::vector< std::string > walkBreadthFirstIds()
Definition SceneNodes.cpp:596
bool unrootEntityAt(const std::string &hostName, const std::string &nodeId, int index)
Remove a rooted script instance by its index in the binding list.
Definition Scene.cpp:854
bool remountBuildAs(const std::string &name)
Definition Scene.cpp:790
bool linkRenderable3D(const std::string &nodeId, graphics::Renderable3D *r)
Links a 3D renderable to a node in the current host.
Definition SceneNodes.cpp:75
bool setNodeLayerAt(const std::string &hostName, const std::string &nodeId, int layer)
Definition SceneNodes.cpp:367
bool setNodeRotation(const std::string &id, float yaw, float pitch, float roll)
Sets the local rotation (yaw/pitch/roll in degrees) of a node.
Definition SceneNodes.cpp:37
bool unlinkNode(const std::string &nodeId)
Removes every link on a node in the current host.
Definition SceneNodes.cpp:79
bool syncSpatialIndexAt(const std::string &hostName, spatial::Octree *ot) const
Insert every bounded node's world AABB into an octree (id = arena index).
Definition SceneNodes.cpp:484
bool setNodeEventHandlerAt(const std::string &hostName, ssq::Object cb)
Register a script callback for node lifecycle events on a host: cb(action, nodeId,...
Definition SceneNodes.cpp:382
std::vector< float > getNodeQuaternionAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:294
void addNode(const std::string &id, const std::string &name="")
Definition Scene.cpp:743
bool removeChildAt(const std::string &hostName, const std::string &parentId, const std::string &childId)
Definition SceneNodes.cpp:271
bool setNodeBoundsAt(const std::string &hostName, const std::string &nodeId, float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
Definition SceneNodes.cpp:430
bool setNodeVisible(const std::string &id, bool visible)
Shows/hides a node.
Definition SceneNodes.cpp:61
bool addChildAt(const std::string &hostName, const std::string &parentId, const std::string &childId)
Definition SceneNodes.cpp:262
std::string getChildIdAt(const std::string &parentId, int childOrdinal)
Definition SceneNodes.cpp:532
bool linkRenderable2DAt(const std::string &hostName, const std::string &nodeId, graphics::Renderable2D *r)
Definition SceneNodes.cpp:87
std::vector< float > localToWorldAt(const std::string &hostName, const std::string &nodeId, float x, float y, float z) const
Definition SceneNodes.cpp:225
std::vector< float > getNodeWorldScaleAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:215
bool select(const std::string &name)
Selects a named host; false when it does not exist.
Definition Scene.cpp:636
bool isDescendant(const std::string &nodeId, const std::string &ancestorId)
Definition SceneNodes.cpp:563
bool hasNodeTagAt(const std::string &hostName, const std::string &nodeId, const std::string &tag) const
Definition SceneNodes.cpp:341
std::vector< std::string > walkDepthFirstIds()
DFS order of ids under root (same as collectIds). Kept for script naming clarity.
Definition SceneNodes.cpp:594
std::vector< std::string > collectFrustumIdsAt(const std::string &hostName, graphics::Camera3D *cam, float viewW, float viewH) const
Ids of nodes whose world AABB intersects the camera frustum.
Definition ScenePicking.cpp:34
void setBuildScale(float sx, float sy, float sz=1.f)
Definition Scene.cpp:761
std::vector< float > getNodeBoundsAt(const std::string &hostName, const std::string &nodeId) const
Definition SceneNodes.cpp:452
std::string pickRayAt(const std::string &hostName, float ox, float oy, float oz, float dx, float dy, float dz) const
Nearest node id hit by a world ray (nodes with bounds), or "".
Definition SceneNodes.cpp:461
bool addNodeTagAt(const std::string &hostName, const std::string &nodeId, const std::string &tag)
Definition SceneNodes.cpp:327
SceneHost * findHostByOwner(uint32_t ownerId) const
Finds the host bound to an owner id, or nullptr.
Definition Scene.cpp:645
bool linkRenderable2D(const std::string &nodeId, graphics::Renderable2D *r)
Links a 2D renderable to a node in the current host.
Definition SceneNodes.cpp:71
int forEachEntity(const std::string &hostName, const std::string &nodeId, ssq::Object cb)
Call cb(instance, index) for every rooted instance; returns count.
Definition Scene.cpp:875
Region octree for 3D AABB broad-phase / scene culling. Same storage rules as QuadTree (smallest fully...
Definition Octree.h:16
Definition Audio.cpp:18
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition AnimTrail.h:6
Definition Body.cpp:11
Definition ScenePicking.cpp:22
NodeDesc node(std::string id, std::vector< NodeDesc > children, std::string name)
Definition NodeDesc.cpp:214
Definition Scene.h:33
EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp
Definition ECS.h:12
Declarative scene-node description (build once / on dirty → flatten into SceneHost::Tree)....
Definition NodeDesc.h:15
Retained scene node (arena). Conceptual GameObject; isomorphic to eve::ui::UINode.
Definition SceneHost.h:39