- Home /
[PUN]Hi, I need help with RCP
Hi I'm using PUN and I'm trying call a method with RCP function... I really don't have idea how works this :/ I was read some post and watched some videos of this function but I don't find a solution to my problem and for this I appeal to you :).
I'm controlling the floors of my map with this script:
public class MapManager : MonoBehaviour {
public int currentFloor;
[SerializeField]
private GameObject currentMap;
public Text txt;
public static MapManager MP;
void Awake()
{
MP = this;
}
void Start () {
currentFloor = 0;
setFloor (currentFloor);
}
// Update is called once per frame
void Update () {
txt.text = currentFloor.ToString ();
}
[PunRPC]
public void setFloor(int i)
{
currentFloor = i;
switch (i) {
case 0:
currentMap.transform.GetChild (0).gameObject.SetActive (true);
currentMap.transform.GetChild (1).gameObject.SetActive (true);
currentMap.transform.GetChild (2).gameObject.SetActive (false);
currentMap.transform.GetChild (3).gameObject.SetActive (false);
break;
case 1:
currentMap.transform.GetChild (0).gameObject.SetActive (true);
currentMap.transform.GetChild (1).gameObject.SetActive (true);
currentMap.transform.GetChild (2).gameObject.SetActive (true);
currentMap.transform.GetChild (3).gameObject.SetActive (false);
break;
case 2:
currentMap.transform.GetChild (0).gameObject.SetActive (true);
currentMap.transform.GetChild (1).gameObject.SetActive (true);
currentMap.transform.GetChild (2).gameObject.SetActive (true);
currentMap.transform.GetChild (3).gameObject.SetActive (true);
break;
case 3:
currentMap.transform.GetChild (0).gameObject.SetActive (true);
currentMap.transform.GetChild (1).gameObject.SetActive (true);
currentMap.transform.GetChild (2).gameObject.SetActive (true);
currentMap.transform.GetChild (3).gameObject.SetActive (true);
break;
default:
break;
}
}
}
I'm sending the int of "setFloor(int i)" from here:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CambiaPiso : MonoBehaviour {
// Use this for initialization
[SerializeField]
MapManager mapManager;
public int numeroPiso;
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnTriggerEnter2D(Collider2D col)
{
//photonView = col.gameObject.GetComponent<PhotonView> ();
if (col.gameObject.tag == "Player")
{
if (mapManager.currentFloor == numeroPiso) {
mapManager.setFloor (numeroPiso - 1);
} else {
mapManager.setFloor (numeroPiso);
}
}
}
}
I deleted my tries of use photonview because it could cause confusion, this works but only this update the currentFloor to all clients, the int is obtained at trigger2D in a stair :/ Someone know how I can fix this?(to update the currentFloor in the respective client)
hmm here are my last tries with photonview c:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CambiaPiso : MonoBehaviour {
// Use this for initialization
[SerializeField]
MapManager mapManager;
public int numeroPiso;
//PhotonView photonView;
/*PhotonView id = gameObject.GetComponent<PhotonView> ().viewID;
PhotonView a =PhotonView.RPC("setFloor", RPCMode.Server, id);*/
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnTriggerEnter2D(Collider2D col)
{
//photonView = col.gameObject.GetComponent<PhotonView> ();
if (col.gameObject.tag == "Player")
{
if (mapManager.currentFloor == numeroPiso) {
/*photonView.RPC ("setFloor", /*PhotonPlayer.Find(gameObject.GetComponent<PhotonView>().viewID)*//*PhotonTargets.MasterClient, -1);*/
mapManager.setFloor (numeroPiso - 1);
} else {
/*photonView.RPC ("setFloor", /*PhotonPlayer.Find(gameObject.GetComponent<PhotonView>().viewID)*//*PhotonTargets.MasterClient, numeroPiso);*/
mapManager.setFloor (numeroPiso);
}
}
}
}
Answer by ianmohan · Jul 09, 2018 at 08:45 PM
192.168.0.1. Many Netgear and D-Link model routers use 192.168.0.1 as their default IP address. It is used in a private IPv4 network address as the router
https://www.wordsoftech.org/192-168-0-1-login/ ,192.168.0.1. Many Netgear and D-Link model routers use 192.168.o.1 as their default IP address. It is used in a private IPv4 network address as the router
Your answer
Follow this Question
Related Questions
Custom dedicated server application 3 Answers
How to solve RPC error 1 Answer
AllocatedID error 1 Answer
Sync Animations through Network (Mecanim) 0 Answers
RPC or Synchronization ? 1 Answer