假设我有一组来自网络的数据,网络每帧发送这些数据:
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
找到您在游戏中的单位,并将您的新数据分配给它。