如何在 Unity 中使用列表同步集合中的数据<GameObject>?



假设我有一组来自网络的数据,网络每帧发送这些数据:

public class Unit {
public float PosX;
public float PosY;
public float Health;
}
public Unit[] DataFromNetwork;

我想转换成这个:

public class MonoUnit : MonoBehaviour {
public Transform t;  // from Transform
public float health
}

如何将DataFromNetwork转换为每帧的游戏对象?

我可以这样想:
-销毁所有游戏对象,并在每帧基于DataFromNetwork实例化它
但我认为这是个坏主意,因为GameObject应该是长寿的。

我认为最好在DataFromNetwork中为您的Unit添加一个唯一的id,并且在每个单元的Instatiate的第一次调用中,将该id分配给您的单元
在下一个收到的包中,通过id找到您在游戏中的单位,并将您的新数据分配给它。

相关内容

最新更新