继续上一章说:传送门
目的:
添加完TickUpdateSystem后,我们希望把游戏内的TickCount显示在UI上
那么应该怎么做呢?
思路:
想到添加逻辑的需求,就要添加一个System解决
大体的逻辑就是通过收集游戏所有的TickComponent(这里只有一个),检测逻辑实体变化后,通知所有的 渲染实体
所以
1.先创建一个监听Tick的数据组件:TickListenerComponet
public interface ITickListener
{
void OnTick(int currTick);
}
[Render]
public partial struct TickListenerComponent : IComponent
{
//必须要 public 才能生成代码
public ITickListener listener;
}
2.创建一个负责监听Tick变化通知所有TickListener的系统 NotifyTickListenersSystem
public class NotifyTickListenersSystem : ReactiveSystem<LogicEntity>
{
LogicContext _logicContext;
RenderContext _renderContext;
IGroup<RenderEntity> _listeners;
public NotifyTickListenersSystem(Contexts contexts) : base(contexts.logic<
使用Unity ECS实现游戏逻辑与UI同步

最低0.47元/天 解锁文章
2436





