Здесь я сделал простой скрипт фонарика в Unity с мультиплеером Photon. Используя RPC, я хочу, чтобы сценарий переключал setActive на игровом объекте FlashLight. Когда я запускаю игру, у меня в консоли ошибок нет. В любом случае, 2 клиента не синхронизируют изменения FlashLight
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.GetComponent();
}
[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);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/697 ... ot-working