载入中...
搜索中...
未找到
SceneObject.h
浏览该文件的文档.
1#pragma once
2
3#include "common/ECS.h"
4
5#include <squirrel.h>
6
7#include <string>
8#include <vector>
9
10namespace eve::scene {
11
21class SceneObject : public ecs::Entity {
22public:
23 ENTITY(SceneObject, ecs::Entity)
24
25 void release() override { ecs::DestroyEntity(this); }
26
27 struct Meta {
28 SceneObject *entity = nullptr;
29 std::string hostName;
30 std::string nodeId;
31 };
32
34 std::vector<HSQOBJECT> instances; // rooted script entity instances
35 };
36
37 COMPONENT(Meta, meta)
38 COMPONENT(ScriptBindings, scriptBindings)
39
40 static SceneObject *createObject(const std::string &hostName,
41 const std::string &nodeId);
42};
43
44} // namespace eve::scene
Per-node ECS identity (created lazily when a node needs script bindings or engine components)....
Definition SceneObject.h:21
static SceneObject * createObject(const std::string &hostName, const std::string &nodeId)
void release() override
Definition SceneObject.h:25
std::vector< HSQOBJECT > instances
Definition SceneObject.h:34