在运行场景的函数,循环遍历当前所有具有脚本组件的实体
void Scene::OnUpdateRuntime(Timestep ts){// 脚本{ScriptEngine::OnRuntimeStart(this);// 实例化实体中的C#脚本auto view = m_Registry.view>();for (auto e : view) {Entity entity = { e, this };ScriptEngine::OnUpdateEntity(entity, ts);}}
根据UUID在运行脚本map找到这个封装的mono类对象,并调用C#类的函数
void Hazel::ScriptEngine::OnUpdateEntity(Entity entity, Timestep ts){UUID entityUUID = entity.GetUUID();// 得到这个实体的UUIDHZ_CORE_ASSERT(s_Data->EntityInstances.find(entityUUID) != s_Data->EntityInstances.end());// 根据UUID获取到ScriptInstance的指针Ref> instance = s_Data->EntityInstances[entityUUID];instance->InvokeOnUpdate((float)ts);// 调用C#的OnUpdate函数}
其它要写的代码(省略)效果
遇到的BUG
- 爆款小游戏单月收入过亿,小游戏的大机会!
- 低配的电脑可以玩什么大型游戏,低配电脑适合玩的单机游戏
- 徐州游戏
- 1920x1200屏是几k
- 像素回合制老游戏有哪些
- 老狼请吃鸡
- 卜卜贝
- 乐娃娃儿童益智游戏乐园
- 力胜鼠标宏,力胜鼠标能设置宏健吗
- 什么牌子内存条比较好,内存条什么牌子好