美文网首页Entitas Cookbook
Entitas CookBook 翻译 - 105_Collec

Entitas CookBook 翻译 - 105_Collec

作者: SkyrimWu | 来源:发表于2018-04-24 17:39 被阅读0次

    Collector 收集器

    请先完成Group的章节再继续以下的阅读。

    Collector是Group的一个观察者类。下面就是一个MatchOne(entitas的一个示例)中创建Collector的示例。

    context.CreateCollector(GameMatcher.GameBoardElement.Removed());
    

    在这个例子中,我们定义了一个Collector来收集所有删除了有GameBoardElementComponent的Entity。在内部,Collector将要求一组包含GameBoardElementComponent的Entity。因为我们对Removed事件感兴趣,它会自行对group的事件进行订阅,并保留从group中移除的entity的引用列表。我们有三个事件可以留意:

    • Added
    • Removed
    • AddedOrRemoved

    同样值得注意的是,但一个Entity由于被从group中移除而收集时,即使我们重新将GameBoardElement component加上去来让它重新加回到group,它依然会在被removed集合收集。这就是为什么Reactive System中会有个Filter方法了(更多的请查看Reactive System章节)。

    Collector也是可以伴随着group数组或是event数组创建,这意味着我们可以同时观测多个group来保持一个对应变化的entites列表。

    Collector可以被激活或是反激活,所以我们可以停止、恢复观察group。我们也可以将遍历收集到的entity,并且将他们全部清理。

    Collector就是reactive system能量的源泉。你可能不会单独使用这个,不过这个仍然是entitas非常重要一个成分。

    相关文章

      网友评论

        本文标题:Entitas CookBook 翻译 - 105_Collec

        本文链接:https://www.haomeiwen.com/subject/htnjlftx.html