[SyncVar] 是一个属性,可以添加到 NetworkBehaviour 类的成员变量上。这些变量的值将从服务器同步到游戏中处于就绪状态的客户端。
设置 [SyncVar] 的值会将其标记为“脏”,这样一来,该值将在当前帧结束时发送给客户端。只有简单值可以标记为 [SyncVars]。SyncVar 变量的类型不能来自外部 DLL 或程序集。
using UnityEngine; using UnityEngine.Networking;
public class Ship : NetworkBehaviour { [SyncVar] public int health = 100;
[SyncVar] public float energy = 100; }
允许的 SyncVar 类型为:
• 基本类型(byte、int、float、string、UInt64 等)\
• 内置 Unity 数学类型(Vector3、Quaternion 等)\
• 包含允许类型的结构。\
hook | 钩子属性可用于指定当 SyncVar 更改客户端上的值时要调用的函数。 |