У меня два вызова RPC, отправленные из GameManager
PUNPlayerManager.LocalPlayerInstance.GetComponent (). SetDuelGameRPC (duelGameString);PUNPlayerManager.LocalPlayerInstance.GetComponent (). SetInGameRPC (true);
On the player instance:
public void SetDuelGameRPC(string duelGame) //To be called by masterClient
{
photonView.RPC("SetInGame", RpcTarget.All, duelGame);
}
[PunRPC]
private void SetDuelGame(string duelGame)
{
Debug.Log("received gameString " + duelGame);
this.duelGameString = duelGame;
}
public void SetInGameRPC(bool inGame) //To be called by masterClient
{
photonView.RPC("SetInGame", RpcTarget.All, inGame);
}
[PunRPC]
private void SetInGame(bool inGame)
{
this.inGame = inGame;
}
Хорошо: все отлично работает в автономной сборке (ПК)
Плохо: на эмуляторе Android и Unity Editor;
- Первый вызов SetDuelGameRPC, похоже, игнорируется
- Я получаю следующую ошибку для обоих игроков
В PhotonView с идентификатором 1001 нет метода "SetInGame"это принимает 1 аргумент (ы): String UnityEngine.Debug: LogError (Object) Photon.Pun.PhotonNetwork: ExecuteRpc (Hashtable, Player) (в Активы / Photon / PhotonUnityNetworking / Code / PhotonNetworkPart.cs: 507) Photon.Pun.PhotonNetwork: RPC (PhotonView, String, RpcTarget, Player, Boolean, Object []) (в объектах / Photon / PhotonUnityNetworking / Code / PhotonNetworkPart.cs: 1233) Photon.Pun.PhotonNetwork: RPC (PhotonView, String, RpcTarget, логический, объект[]) (в разделе «Ресурсы» / «Фотон» / «Сеть фотонов» / Code / PhotonNetwork.cs: 2668) Photon.Pun.PhotonView: RPC (String, RpcTarget, Object []) (в разделе «Активы / Фотон / ФотонUnityNetworking / Код /»)PhotonView.cs: 415) PUNPlayerManager: SetDuelGameRPC (String) (в активах / сценариях / PUN / PUNPlayerManager.cs: 101) GameManager: PrepareDuelGame () (в активах / сценариях / PUN / GameManager.cs: 131) GameManager: обновление ()(в разделе Активы / Скрипты / PUN / GameManager.cs: 162)