I have been using networking recently in Unity and have been getting an error when using an RPC. Here is the code for my RPC Function.
[RPC]
void updateLevelOne(NetworkPlayer player, string LevelName)
{
Application.LoadLevel(levelOne);
}
Then this is where the RPC Function is being called:
void HostMenu(){
if (isHostMenu) {
GUI.Label(new Rect(leftIndent, 100, 200, 100), "Set up a Server", "Sub Menu Title");
GUI.Label(new Rect(leftIndent, Screen.height / 2 - 100, 380, 50), "Server Port: ");
portNumber = int.Parse(GUI.TextField(new Rect(250, Screen.height / 2 - 110, 250, 50), portNumber.ToString()));
GUI.Label(new Rect(leftIndent, Screen.height / 2 - 40, 380, 50), "Player Amount: ");
numberOfPlayers = int.Parse(GUI.TextField(new Rect(290, Screen.height / 2 - 50, 250, 50), numberOfPlayers.ToString()));
if(GUI.Button (new Rect(leftIndent, Screen.height / 2 + 80, 250, 50), "Isolation")){
multiplayerMap = levelOne;
}
if(GUI.Button (new Rect(leftIndent + 260, Screen.height / 2 + 80, 250, 50), "Get Rekt")){
multiplayerMap = levelTwo;
}
if(GUI.Button(new Rect(leftIndent + 160, Screen.height - 60, 150, 50), "Start!")){
Network.InitializeServer(numberOfPlayers, portNumber, true);
networkView.RPC("updateLevelOne", RPCMode.AllBuffered, 2);
isHostMenu = false;
isConnectMenu = false;
isMultiplayerMenu = false;
}
}
}
Then finally the error that is given to me when I try to use the start button:
Sending RPC failed because 'updateLevelOne' parameter 0 didn't match the RPC declaration. Expected 'UnityEngine.NetworkPlayer' but got 'System.Int32'
UnityEngine.NetworkView:RPC(String, RPCMode, Object[])
Any help will be appreciated. Thanks!