总结
object components
public class DemoScript_1 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
var dog = new Dog();
var entity1 = entityManager.CreateEntity();
entityManager.AddComponentObject(entity1, dog);
var entity2 = entityManager.CreateEntity();
entityManager.AddComponentObject(entity2, dog);
dog.x = 10;
dog = entityManager.GetComponentObject<Dog>(entity1);
print(dog.x); // 10
dog = entityManager.GetComponentObject<Dog>(entity2);
print(dog.x); // 10
entityManager.RemoveComponent<Dog>(entity1);
}
}
public class Dog : IComponentData
{
public int x;
}
AddComponentObject
需要是class类型。m_ManagedComponentData[iManagedComponent] = value;
更新。