Как использовать Rpc в unity photon (скрипт не работает)

#photon

Вопрос:

Здесь я сделал простой скрипт фонарика в многопользовательском режиме unity photon, используя RPC. Скрипт установил активный и ложный фонарик игрового объекта. Когда я запускаю игру, мне кажется, что в консоли нет ошибок. В любом случае, 2 клиента не синхронизируют изменения фонарика

 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Photon.Pun;  public class flashlight : MonoBehaviourPunCallbacks {  public GameObject FlashlightLight;  private bool flashlightActive = false;  PhotonView view;  public GameObject player;  //public bool active;     void Start()  {  view = this.GetComponentlt;PhotonViewgt;();   }   [PunRPC]  public void Light(bool active)  {  if (view.IsMine)  {   if(active == true)  {  FlashlightLight.gameObject.SetActive(true);  }   if(active == false)  {  FlashlightLight.gameObject.SetActive(false);  }    }  }   void Update()  {  if (Input.GetKeyDown(KeyCode.F))  {  view.RPC("Light", RpcTarget.AllBuffered, true);    }   if (Input.GetKeyDown(KeyCode.G))  {  view.RPC("Light", RpcTarget.AllBuffered, false);  }      }      }  

Комментарии:

1. — Я бы не стал буферизировать вызовы RPC. — MonoBehaviourPunCallbacks уже включает photonView ссылку. — Может быть, состояние освещения должно быть свойством комнаты или игрока и использоваться SetCustomProperties вместо RPC? — Код можно было бы очистить и оптимизировать за меньшее количество строк.