我有一个在OnStartLocalPlayer()中产生更多对象的PlayerPref。 因此,在OnStartLocalPlayer()中,它调用Command(假设在服务器上调用)来实例化GameObject并设置其脚本的一些值。最后它调用SpanWithClientAuthority()... 事情是在所有者客户端和服务器上这些脚本tweek是正确的,但在所有其他客户端它丢失了所有设置(例如gameobject ref等)。我做错了什么?
再简单来说:playerPref GO必须具有其他几个对象的ref列表,并且这些对象必须具有对该playerPref GO的引用。 (使它们成为playerPref GO的一部分不是解决方案)。
答案 0 :(得分:0)
如果我正确理解您的问题,您需要在具有相同游戏对象的所有客户端中设置引用。 [Command]
是客户端到服务器的。你需要的是[ClientRpc]
。使OnStartLocalPlayer()
调用[ClientRpc]
函数,在该函数中(例如:RpcSetRefs()
)设置每个客户端需要的引用。