ecs中实体创建方法

代码中创建实体,然后绑定view

在link的时候,创建相关实体

  • SpaceWaterList.cs中,这种注意创建的实体和parent没有关系..如果是在land中,需要在销毁land的时候,同时销毁该实体.则不能使用该方法..
1
2
3
4
5
6
7
8
9
10
11
public void Link(World world, Entity entity, params object[] list)
{
for (int i = 0; i < this.Spawners.Count; i++)
{
var waterEntity = world.EntityManager.CreateEntity();

world.EntityManager.AddComponentObject(waterEntity,this.Spawners[i]);

this.Spawners[i].gameObject.Link(world, waterEntity, entity);
}
}
  • SpaceNPCList.cs中,通过ConverEntitys.ConvertGameObejct对游戏对象进行转换..注意其上的ConvertToEntity组件转换目标设置为none ,在这里SpawnerAuthoring 可以继承DeclareParentBehaviour 就可以设置parent.
1
2
3
4
5
6
7
8
9
public List<SpawnerAuthoring> Spawners = new List<SpawnerAuthoring>();

public void Link(World world, Entity entity, params object[] list)
{
foreach (var item in this.Spawners)
{
ConverEntitys.ConvertGameObejct(world, item.gameObject, entity);
}
}