DOTS学习过程2 建立第一个ECS

前言 ECS  按照我目前的理解是继承接口用来相互传输数据从而完成面向数据的传输

首先创建一个脚本给Cube挂上   CubeMoveComponentDate

脚本是Struct数据结构类型  ps:脚本我是分开的,当时也可以写在一起,嘿嘿

 

using System.Collections;
using System.Collections.Generic;
using Unity.Entities;
using UnityEngine;

[GenerateAuthoringComponent]
public struct CubeMoveComponentDate : IComponentData
{
    public float speed;
}

上面这个脚本大概可以理解为用来控制属性变量,自己的属性变量,那谁来控制自身的组件那?然后我们就有了面向数据的下一个管理脚本

这个脚本就不用挂载了  额里面的大概意思就是我控制自身移动属性的X轴,然后速度我来调用结构体里面的变量属性,这样就完成了数据的传输

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
using Unity.Transforms;
using Unity.Jobs;

public class CubeComponentSystem : JobComponentSystem
{
    protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        float time = Time.DeltaTime;
        return Entities.ForEach((ref Translation translation, in CubeMoveComponentDate cubeMoveComponentDate) =>
        {
            translation.Value.x += cubeMoveComponentDate.speed * time;

        }).Schedule(inputDeps);

    }

    
}

然后运行发现场景中的Cube(entitiy)移动了吧

可能讲的有点迷迷糊糊,下一篇会实验性的讲解数据传输面向数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山竹炒大蒜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值