Unity3D Entitas Wooga的ECS Entity Component System入门学习2

版本:unity 2017.1  语言:C#

 

总起:

这一章更加深入的介绍Entitas的各个System的编写,刚开始接触的童鞋请先看上一篇文章,该篇内容会紧接着之前的内容编写程序。

 

之前谈到了现在的Entitas框架中有两大Context,其一是之前用过的game,其二是今天要介绍的input,看到名字自然也就是知道,该Context环境是用来处理玩家的输入的。

 

*在生成代码的时候可能会报一个Could not found file ‘...’的一个错误,这个是项目名称错了,定位到项目的根目录,把csproj的整个文件名复制到Project Path中就好。

 

Hello World的补充:

打开之前文章完成后的工程,运行后发现打印了HelloWorld,但Entity下的DebugMessage组件仍旧存在,按照道理来说,这个Entity打印完内容之后就没什么用了,可以销毁了。

 

这边就先来介绍CleanupSystem来销毁多余的组件。

 

Cleanup System

之前在写GameController的时候其实留了一手,让程序集执行完Execute后,执行了Cleanup。而可以Cleanup的System只需要实现ICleanupSystem就可以了。

 

让我们来看代码:

// CleanupDebugMessageSystem.cs
using System;
using Entitas;
 
// 继承于ICleanupSystem
public class CleanupDebugMessageSystem : ICleanupSystem
{
    // 保存game环境
    readonly GameContext _context;
    // 保存所有拥有DebugMessage组件的Entity
    readonly IGroup<GameEntity> _debugMessages;
 
    // 构造函数,添加game环境和保存拥有DebugMessage组件的Group
    public CleanupDebugMessageSystem(Contextscontexts)
    {
        _context = con
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值