how to get void function in c# script to other c#script?

i dont know how get this function because i am a only a student programmer…
Can you help me about this…
i want to get this function
//fist script void function

void OnPlayerDisconnected(NetworkPlayer id)
{
	Debug.Log("A Player is Leaving");
	networkView.RPC("RemovePlayer", RPCMode.All, id);
	Network.Destroy(GetPlayer(id).Manager.gameObject);
	Network.RemoveRPCs(id);
	Debug.Log("A Player is Left");
}

and in the second script when i click gui button the particular void function will get the void function?
//second script

private void Lobby(){
	if (Network.isServer)
	{
		if(GUI.Button(new Rect(Screen.width -128,Screen.height - 84,128,32),"Start Game"))
		{
			//NetworkManager.Instance.MatchStarted = true;
			NetworkManager.Instance.networkView.RPC("LoadLevel", RPCMode.All);
			//networkView.RPC("StartServer", RPCMode.All);
			
		}
	}	
	if(GUI.Button(new Rect(Screen.width -128,Screen.height - 52,128,32),"Back")){
		ToMenu("Host");

//void OnPlayerDisconnected();

	}

}

please help me im sorry for my bad english…
thankyou in advance :slight_smile:

2 Answers

2

First: this call you attempted

void OnPlayerDisconnected();

could never work. When you are calling functions you only type their name and then the brackets (and in brackets arguments if the need them).

so:

OnPlayerDisconnected();

However. You cannot call this function in your class because it is not public. Also, the name suggest this is a function that is called on event. It fires itself when a player disconnects (as the name suggest). If you need to know when that happens, create a handle and attach it to the event.

C# events

You could use this. I hope it helps you.