Unity使用Entitas开发逻辑显示分离Demo(二)

使用Unity ECS实现游戏逻辑与UI同步

继续上一章说:传送门

目的:
添加完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<
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值