【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组件也会同步修改。

相关推荐
Miqiuha25 分钟前
建造者设计模式学习
学习·设计模式
mit6.82426 分钟前
[Qt] Qt介绍 | 搭建SDK
linux·c++·qt·学习
宇寒风暖40 分钟前
软件工程期末复习(一)
笔记·学习·软件工程
sensen_kiss41 分钟前
CPT203 Software Engineering 软件工程 Pt.6 软件管理(中英双语)
学习·软件工程
浅陌sss1 小时前
Unity 实现Canvas显示3D物体
unity·游戏引擎
多恩Stone1 小时前
【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解
人工智能·学习·迁移学习
IT古董3 小时前
【机器学习】机器学习的基本分类-自监督学习-对比学习(Contrastive Learning)
人工智能·学习·机器学习·分类
霜雪殇璃4 小时前
2021.12.28基于UDP同信的相关流程
笔记·学习
yz7174 小时前
计算机网络•自顶向下方法:网络应用原理
学习·计算机网络
游王子5 小时前
Python学习(5):数据结构
开发语言·数据结构·python·学习