2. Entitas ReactiveSystem 用法解析

我们通过一个渲染Sprite的例子来解析 ReactiveSystem的用法

 

  • .我们来看收集器,这个由我们的Context,直接提供在代码中自动生成一般不用变,生成玩代码后GameMatcher会自动添加我们组件对应的收集器。

      context.CreateCollector(GameMatcher.InterationDemoSprite);

  • Filter 这个是筛选,我们从过条件来判断是否满足需求,我们这里写的是 当前的entity包含一个 View组件和Sprite两个组件这样我们才能将图片渲染到屏幕上。

  • Execute 这个是执行函数通过收集器和筛选器,最终的所有符合条件的entities 会传过来,我们这里做的操作给当前entity的view组件中的gameobject, 添加SpriteRender Unity组件,用于渲染我们的精灵

  • Context是一种为Entity服务的的管理性数据结构。一个Entity不能自己独立创建,它必须通过context.CreateEntity()

public class RenderSpriteSystem : ReactiveSystem<GameEntity>
{
    public RenderSpriteSystem(Contexts contexts) : base(contexts.game)
    {
    }

    protected override ICollector<GameEntity> GetTrigger(IContext<GameEntity> context)
    {
        return context.CreateCollector(GameMatcher.InterationDemoSprite);
    }

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值