[Mirror自学笔记]SyncVars

官方解释

SyncVars 是从 NetworkBehaviour 继承的类的属性,它们从服务器同步到客户端。当生成游戏对象或新玩家加入正在进行的游戏时,将向他们发送对他们可见的联网对象上所有 SyncVar 的最新状态。使用SyncVar自定义属性指定要同步脚本中的哪些变量。

SyncVars 的状态在调用之前应用于客户端上的游戏对象OnStartClient(),因此对象的状态在内部始终是最新的OnStartClient()

SyncVars 可以使用Mirror 支持的任何类型。在单个 NetworkBehaviour 脚本中最多可以有 64 个 SyncVar,包括 SyncList(请参阅下面的下一节)。

当 SyncVar 的值发生更改时,服务器会自动发送 SyncVar 更新,因此您无需跟踪它们何时更改或自己发送有关更改的信息。在检查器中更改值不会触发更新。

Abyss: SyncVars是所有客户端即时同步的属性,使用方法如下

public class Enemy : NetworkBehaviour
{
    [SyncVar]
    public int health = 100;
​
    void OnMouseUp()
    {
        NetworkIdentity ni = NetworkClient.connection.identity;
        PlayerController pc = ni.GetComponent<PlayerController>();
        pc.currentTarget = gameObject;
    }
}

Abyss:每当health更新,所有客户端同步更新

Abyss:此属性可继承,子对象继承来的SyncVars也同步,如下

class Pet : NetworkBehaviour
{
    [SyncVar] 
    string name;
}
​
class Cat : Pet
{
    [SyncVar]
    public Color32 color;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值