void OnNetworkConnect(bool success, string message)
{
Debug.LogError("OnNetworkConnect" + " " + message + " (Player ID #" + TNManager.playerID + ")");
if (success)
{
TNManager.JoinChannel(channelID, GameManager.Instance.GetMapSceneName());
}
else
{
UIManager.Instance.ShowMessageDialog("CONNECTION ERROR", message, "Okay");
UIManager.Instance.ResetMainMenu();
}
}
void OnNetworkDisconnect()
{
Debug.LogError("OnNetworkLeaveChannel" + " (Player ID #" + TNManager.playerID + ")");
#if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2
Application.LoadLevel("main");
#else
UnityEngine.SceneManagement.SceneManager.LoadScene("main", UnityEngine.SceneManagement.LoadSceneMode.Single);
#endif
UIManager.Instance.ResetMainMenu();
}
void OnNetworkJoinChannel(int channelID, bool success, string message)
{
Debug.LogError("OnNetworkJoinChannel" + " " + message + " (Player ID #" + TNManager.playerID + ")");
if (success)
{
UIManager.Instance.CloseMessageDialog(false);
UIManager.Instance.mainMenuCanvas.SetActive(false);
GameManager.Instance.SpawnPlayer(channelID);
//spawn some bots
if (TNManager.isHosting)
GameManager.Instance.SpawnPlayer(channelID, true);
}
else
{
UIManager.Instance.ShowMessageDialog("CONNECTION ERROR", message, "Okay");
UIManager.Instance.ResetMainMenu();
TNManager.Disconnect();
}
}
void OnNetworkLeaveChannel(int channelID)
{
TNManager.Disconnect();
}
public void StartServer(string servername, string playername, int gametype, bool usebots, int connectiontype)
{
Debug.LogError("Starting server...");
isTeam = gametype;
int udpPort = Random.Range(10000, 40000);
TNLobbyClient lobby = GetComponent<TNLobbyClient>();
if (lobby == null)
{
TNServerInstance.Start(serverTcpPort, udpPort, "server.dat");
}
else
{
TNServerInstance
.Type type
= (lobby
is TNUdpLobbyClient
) ? TNServerInstance
.Type.Udp : TNServerInstance
.Type.Tcp; if (TNServerInstance.Start(serverTcpPort, udpPort, lobby.remotePort, "server.dat", type))
{
TNManager.player.name = playername;
TNManager.Connect();
}
}
}
public void JoinServer(string ip, int port, string playername)
{
TNManager.player.name = playername;
if (port < 1)
TNManager.Connect(ip);
else
TNManager.Connect(ip, port);
}