【Unity3D】ECS入门学习(八)块组件 ArchetypeChunk

全局唯一组件,修改数值后不会产生新的组件,而是全部实体的块组件内容都同步变化。

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
public struct MyChunkComponentData : IComponentData
{
    public int num;
}
cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
public class ChunkTest : MonoBehaviour
{
    private void Start()
    {
        EntityManager entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
        //创建Chunk类型
        EntityArchetype type = entityManager.CreateArchetype(ComponentType.ChunkComponent(typeof(MyChunkComponentData)));
        //创建Chunk实体1
        Entity chunkEntity = entityManager.CreateEntity(type);
        //创建Chunk实体2
        Entity chunkEntity2 = entityManager.CreateEntity(type);
        //获取实体1的Chunk类对象
        ArchetypeChunk chunk = entityManager.GetChunk(chunkEntity);
        //修改Chunk值
        entityManager.SetChunkComponentData(chunk, new MyChunkComponentData() { num = 10 });
    }
}

修改其中一个Chunk对象的值其他实体的Chunk组件也会同步修改。

相关推荐
惊鸿醉1 小时前
Unity C# 中的 反射 小记
unity·c#·游戏引擎
一年春又来2 小时前
AI-02a5a2.神经网络的学习
人工智能·神经网络·学习
Yuze_Neko2 小时前
C#异步Task,await,async和Unity同步协程
开发语言·unity·c#
努力的小帅2 小时前
c++——二叉树进阶
开发语言·数据结构·c++·学习·算法·面试
go_bai2 小时前
C++——继承
开发语言·c++·笔记·学习·学习方法
小石(努力版)3 小时前
嵌入式STM32学习——继电器
stm32·嵌入式硬件·学习
七月.末3 小时前
【Unity】Unity中修改网格的大小和倾斜网格
unity·游戏引擎
Camellia03114 小时前
嵌入式学习--江协51单片机day4
嵌入式硬件·学习·51单片机
Blossom.1184 小时前
虚拟现实(VR)与增强现实(AR)在教育领域的应用:开启沉浸式学习新时代
人工智能·深度学习·学习·机器学习·ar·制造·vr
一只安5 小时前
GoWeb开发(基础)
深度学习·学习