using System; using System.Collections.Generic; using System.Net; using UnityEngine.Networking.Match; using UnityEngine.Networking.NetworkSystem; using UnityEngine.Networking.Types; using UnityEngine.SceneManagement; namespace UnityEngine.Networking { // Token: 0x0200004C RID: 76 [AddComponentMenu("Network/NetworkManager")] public class NetworkManager : MonoBehaviour { // Token: 0x1700006A RID: 106 // (get) Token: 0x060002AB RID: 683 RVA: 0x0000DB3C File Offset: 0x0000BD3C // (set) Token: 0x060002AC RID: 684 RVA: 0x0000DB57 File Offset: 0x0000BD57 public int networkPort { get { return this.m_NetworkPort; } set { this.m_NetworkPort = value; } } // Token: 0x1700006B RID: 107 // (get) Token: 0x060002AD RID: 685 RVA: 0x0000DB64 File Offset: 0x0000BD64 // (set) Token: 0x060002AE RID: 686 RVA: 0x0000DB7F File Offset: 0x0000BD7F public bool serverBindToIP { get { return this.m_ServerBindToIP; } set { this.m_ServerBindToIP = value; } } // Token: 0x1700006C RID: 108 // (get) Token: 0x060002AF RID: 687 RVA: 0x0000DB8C File Offset: 0x0000BD8C // (set) Token: 0x060002B0 RID: 688 RVA: 0x0000DBA7 File Offset: 0x0000BDA7 public string serverBindAddress { get { return this.m_ServerBindAddress; } set { this.m_ServerBindAddress = value; } } // Token: 0x1700006D RID: 109 // (get) Token: 0x060002B1 RID: 689 RVA: 0x0000DBB4 File Offset: 0x0000BDB4 // (set) Token: 0x060002B2 RID: 690 RVA: 0x0000DBCF File Offset: 0x0000BDCF public string networkAddress { get { return this.m_NetworkAddress; } set { this.m_NetworkAddress = value; } } // Token: 0x1700006E RID: 110 // (get) Token: 0x060002B3 RID: 691 RVA: 0x0000DBDC File Offset: 0x0000BDDC // (set) Token: 0x060002B4 RID: 692 RVA: 0x0000DBF7 File Offset: 0x0000BDF7 public bool dontDestroyOnLoad { get { return this.m_DontDestroyOnLoad; } set { this.m_DontDestroyOnLoad = value; } } // Token: 0x1700006F RID: 111 // (get) Token: 0x060002B5 RID: 693 RVA: 0x0000DC04 File Offset: 0x0000BE04 // (set) Token: 0x060002B6 RID: 694 RVA: 0x0000DC1F File Offset: 0x0000BE1F public bool runInBackground { get { return this.m_RunInBackground; } set { this.m_RunInBackground = value; } } // Token: 0x17000070 RID: 112 // (get) Token: 0x060002B7 RID: 695 RVA: 0x0000DC2C File Offset: 0x0000BE2C // (set) Token: 0x060002B8 RID: 696 RVA: 0x0000DC47 File Offset: 0x0000BE47 public bool scriptCRCCheck { get { return this.m_ScriptCRCCheck; } set { this.m_ScriptCRCCheck = value; } } // Token: 0x17000071 RID: 113 // (get) Token: 0x060002B9 RID: 697 RVA: 0x0000DC54 File Offset: 0x0000BE54 // (set) Token: 0x060002BA RID: 698 RVA: 0x0000DC6A File Offset: 0x0000BE6A [Obsolete("moved to NetworkMigrationManager")] public bool sendPeerInfo { get { return false; } set { } } // Token: 0x17000072 RID: 114 // (get) Token: 0x060002BB RID: 699 RVA: 0x0000DC70 File Offset: 0x0000BE70 // (set) Token: 0x060002BC RID: 700 RVA: 0x0000DC8B File Offset: 0x0000BE8B public float maxDelay { get { return this.m_MaxDelay; } set { this.m_MaxDelay = value; } } // Token: 0x17000073 RID: 115 // (get) Token: 0x060002BD RID: 701 RVA: 0x0000DC98 File Offset: 0x0000BE98 // (set) Token: 0x060002BE RID: 702 RVA: 0x0000DCB3 File Offset: 0x0000BEB3 public LogFilter.FilterLevel logLevel { get { return this.m_LogLevel; } set { this.m_LogLevel = value; LogFilter.currentLogLevel = (int)value; } } // Token: 0x17000074 RID: 116 // (get) Token: 0x060002BF RID: 703 RVA: 0x0000DCC4 File Offset: 0x0000BEC4 // (set) Token: 0x060002C0 RID: 704 RVA: 0x0000DCDF File Offset: 0x0000BEDF public GameObject playerPrefab { get { return this.m_PlayerPrefab; } set { this.m_PlayerPrefab = value; } } // Token: 0x17000075 RID: 117 // (get) Token: 0x060002C1 RID: 705 RVA: 0x0000DCEC File Offset: 0x0000BEEC // (set) Token: 0x060002C2 RID: 706 RVA: 0x0000DD07 File Offset: 0x0000BF07 public bool autoCreatePlayer { get { return this.m_AutoCreatePlayer; } set { this.m_AutoCreatePlayer = value; } } // Token: 0x17000076 RID: 118 // (get) Token: 0x060002C3 RID: 707 RVA: 0x0000DD14 File Offset: 0x0000BF14 // (set) Token: 0x060002C4 RID: 708 RVA: 0x0000DD2F File Offset: 0x0000BF2F public PlayerSpawnMethod playerSpawnMethod { get { return this.m_PlayerSpawnMethod; } set { this.m_PlayerSpawnMethod = value; } } // Token: 0x17000077 RID: 119 // (get) Token: 0x060002C5 RID: 709 RVA: 0x0000DD3C File Offset: 0x0000BF3C // (set) Token: 0x060002C6 RID: 710 RVA: 0x0000DD57 File Offset: 0x0000BF57 public string offlineScene { get { return this.m_OfflineScene; } set { this.m_OfflineScene = value; } } // Token: 0x17000078 RID: 120 // (get) Token: 0x060002C7 RID: 711 RVA: 0x0000DD64 File Offset: 0x0000BF64 // (set) Token: 0x060002C8 RID: 712 RVA: 0x0000DD7F File Offset: 0x0000BF7F public string onlineScene { get { return this.m_OnlineScene; } set { this.m_OnlineScene = value; } } // Token: 0x17000079 RID: 121 // (get) Token: 0x060002C9 RID: 713 RVA: 0x0000DD8C File Offset: 0x0000BF8C public List spawnPrefabs { get { return this.m_SpawnPrefabs; } } // Token: 0x1700007A RID: 122 // (get) Token: 0x060002CA RID: 714 RVA: 0x0000DDA8 File Offset: 0x0000BFA8 public List startPositions { get { return NetworkManager.s_StartPositions; } } // Token: 0x1700007B RID: 123 // (get) Token: 0x060002CB RID: 715 RVA: 0x0000DDC4 File Offset: 0x0000BFC4 // (set) Token: 0x060002CC RID: 716 RVA: 0x0000DDDF File Offset: 0x0000BFDF public bool customConfig { get { return this.m_CustomConfig; } set { this.m_CustomConfig = value; } } // Token: 0x1700007C RID: 124 // (get) Token: 0x060002CD RID: 717 RVA: 0x0000DDEC File Offset: 0x0000BFEC public ConnectionConfig connectionConfig { get { if (this.m_ConnectionConfig == null) { this.m_ConnectionConfig = new ConnectionConfig(); } return this.m_ConnectionConfig; } } // Token: 0x1700007D RID: 125 // (get) Token: 0x060002CE RID: 718 RVA: 0x0000DE20 File Offset: 0x0000C020 public GlobalConfig globalConfig { get { if (this.m_GlobalConfig == null) { this.m_GlobalConfig = new GlobalConfig(); } return this.m_GlobalConfig; } } // Token: 0x1700007E RID: 126 // (get) Token: 0x060002CF RID: 719 RVA: 0x0000DE54 File Offset: 0x0000C054 // (set) Token: 0x060002D0 RID: 720 RVA: 0x0000DE6F File Offset: 0x0000C06F public int maxConnections { get { return this.m_MaxConnections; } set { this.m_MaxConnections = value; } } // Token: 0x1700007F RID: 127 // (get) Token: 0x060002D1 RID: 721 RVA: 0x0000DE7C File Offset: 0x0000C07C public List channels { get { return this.m_Channels; } } // Token: 0x17000080 RID: 128 // (get) Token: 0x060002D2 RID: 722 RVA: 0x0000DE98 File Offset: 0x0000C098 // (set) Token: 0x060002D3 RID: 723 RVA: 0x0000DEB3 File Offset: 0x0000C0B3 public EndPoint secureTunnelEndpoint { get { return this.m_EndPoint; } set { this.m_EndPoint = value; } } // Token: 0x17000081 RID: 129 // (get) Token: 0x060002D4 RID: 724 RVA: 0x0000DEC0 File Offset: 0x0000C0C0 // (set) Token: 0x060002D5 RID: 725 RVA: 0x0000DEDB File Offset: 0x0000C0DB public bool useWebSockets { get { return this.m_UseWebSockets; } set { this.m_UseWebSockets = value; } } // Token: 0x17000082 RID: 130 // (get) Token: 0x060002D6 RID: 726 RVA: 0x0000DEE8 File Offset: 0x0000C0E8 // (set) Token: 0x060002D7 RID: 727 RVA: 0x0000DF03 File Offset: 0x0000C103 public bool useSimulator { get { return this.m_UseSimulator; } set { this.m_UseSimulator = value; } } // Token: 0x17000083 RID: 131 // (get) Token: 0x060002D8 RID: 728 RVA: 0x0000DF10 File Offset: 0x0000C110 // (set) Token: 0x060002D9 RID: 729 RVA: 0x0000DF2B File Offset: 0x0000C12B public int simulatedLatency { get { return this.m_SimulatedLatency; } set { this.m_SimulatedLatency = value; } } // Token: 0x17000084 RID: 132 // (get) Token: 0x060002DA RID: 730 RVA: 0x0000DF38 File Offset: 0x0000C138 // (set) Token: 0x060002DB RID: 731 RVA: 0x0000DF53 File Offset: 0x0000C153 public float packetLossPercentage { get { return this.m_PacketLossPercentage; } set { this.m_PacketLossPercentage = value; } } // Token: 0x17000085 RID: 133 // (get) Token: 0x060002DC RID: 732 RVA: 0x0000DF60 File Offset: 0x0000C160 // (set) Token: 0x060002DD RID: 733 RVA: 0x0000DF7B File Offset: 0x0000C17B public string matchHost { get { return this.m_MatchHost; } set { this.m_MatchHost = value; } } // Token: 0x17000086 RID: 134 // (get) Token: 0x060002DE RID: 734 RVA: 0x0000DF88 File Offset: 0x0000C188 // (set) Token: 0x060002DF RID: 735 RVA: 0x0000DFA3 File Offset: 0x0000C1A3 public int matchPort { get { return this.m_MatchPort; } set { this.m_MatchPort = value; } } // Token: 0x17000087 RID: 135 // (get) Token: 0x060002E0 RID: 736 RVA: 0x0000DFB0 File Offset: 0x0000C1B0 // (set) Token: 0x060002E1 RID: 737 RVA: 0x0000DFCB File Offset: 0x0000C1CB public bool clientLoadedScene { get { return this.m_ClientLoadedScene; } set { this.m_ClientLoadedScene = value; } } // Token: 0x17000088 RID: 136 // (get) Token: 0x060002E2 RID: 738 RVA: 0x0000DFD8 File Offset: 0x0000C1D8 public NetworkMigrationManager migrationManager { get { return this.m_MigrationManager; } } // Token: 0x17000089 RID: 137 // (get) Token: 0x060002E3 RID: 739 RVA: 0x0000DFF4 File Offset: 0x0000C1F4 public int numPlayers { get { int num = 0; for (int i = 0; i < NetworkServer.connections.Count; i++) { NetworkConnection networkConnection = NetworkServer.connections[i]; if (networkConnection != null) { for (int j = 0; j < networkConnection.playerControllers.Count; j++) { if (networkConnection.playerControllers[j].IsValid) { num++; } } } } return num; } } // Token: 0x060002E4 RID: 740 RVA: 0x0000E07C File Offset: 0x0000C27C private void Awake() { this.InitializeSingleton(); } // Token: 0x060002E5 RID: 741 RVA: 0x0000E088 File Offset: 0x0000C288 private void InitializeSingleton() { if (!(NetworkManager.singleton != null) || !(NetworkManager.singleton == this)) { int logLevel = (int)this.m_LogLevel; if (logLevel != -1) { LogFilter.currentLogLevel = logLevel; } if (this.m_DontDestroyOnLoad) { if (NetworkManager.singleton != null) { if (LogFilter.logDev) { Debug.Log("Multiple NetworkManagers detected in the scene. Only one NetworkManager can exist at a time. The duplicate NetworkManager will not be used."); } Object.Destroy(base.gameObject); return; } if (LogFilter.logDev) { Debug.Log("NetworkManager created singleton (DontDestroyOnLoad)"); } NetworkManager.singleton = this; if (Application.isPlaying) { Object.DontDestroyOnLoad(base.gameObject); } } else { if (LogFilter.logDev) { Debug.Log("NetworkManager created singleton (ForScene)"); } NetworkManager.singleton = this; } if (this.m_NetworkAddress != "") { NetworkManager.s_Address = this.m_NetworkAddress; } else if (NetworkManager.s_Address != "") { this.m_NetworkAddress = NetworkManager.s_Address; } } } // Token: 0x060002E6 RID: 742 RVA: 0x0000E1B4 File Offset: 0x0000C3B4 private void OnValidate() { if (this.m_SimulatedLatency < 1) { this.m_SimulatedLatency = 1; } if (this.m_SimulatedLatency > 500) { this.m_SimulatedLatency = 500; } if (this.m_PacketLossPercentage < 0f) { this.m_PacketLossPercentage = 0f; } if (this.m_PacketLossPercentage > 99f) { this.m_PacketLossPercentage = 99f; } if (this.m_MaxConnections <= 0) { this.m_MaxConnections = 1; } if (this.m_MaxConnections > 32000) { this.m_MaxConnections = 32000; } if (this.m_MaxBufferedPackets <= 0) { this.m_MaxBufferedPackets = 0; } if (this.m_MaxBufferedPackets > 512) { this.m_MaxBufferedPackets = 512; if (LogFilter.logError) { Debug.LogError("NetworkManager - MaxBufferedPackets cannot be more than " + 512); } } if (this.m_PlayerPrefab != null && this.m_PlayerPrefab.GetComponent() == null) { if (LogFilter.logError) { Debug.LogError("NetworkManager - playerPrefab must have a NetworkIdentity."); } this.m_PlayerPrefab = null; } if (this.m_ConnectionConfig.MinUpdateTimeout <= 0U) { if (LogFilter.logError) { Debug.LogError("NetworkManager MinUpdateTimeout cannot be zero or less. The value will be reset to 1 millisecond"); } this.m_ConnectionConfig.MinUpdateTimeout = 1U; } if (this.m_GlobalConfig != null) { if (this.m_GlobalConfig.ThreadAwakeTimeout <= 0U) { if (LogFilter.logError) { Debug.LogError("NetworkManager ThreadAwakeTimeout cannot be zero or less. The value will be reset to 1 millisecond"); } this.m_GlobalConfig.ThreadAwakeTimeout = 1U; } } } // Token: 0x060002E7 RID: 743 RVA: 0x0000E368 File Offset: 0x0000C568 internal void RegisterServerMessages() { NetworkServer.RegisterHandler(32, new NetworkMessageDelegate(this.OnServerConnectInternal)); NetworkServer.RegisterHandler(33, new NetworkMessageDelegate(this.OnServerDisconnectInternal)); NetworkServer.RegisterHandler(35, new NetworkMessageDelegate(this.OnServerReadyMessageInternal)); NetworkServer.RegisterHandler(37, new NetworkMessageDelegate(this.OnServerAddPlayerMessageInternal)); NetworkServer.RegisterHandler(38, new NetworkMessageDelegate(this.OnServerRemovePlayerMessageInternal)); NetworkServer.RegisterHandler(34, new NetworkMessageDelegate(this.OnServerErrorInternal)); } // Token: 0x060002E8 RID: 744 RVA: 0x0000E3E8 File Offset: 0x0000C5E8 public void SetupMigrationManager(NetworkMigrationManager man) { this.m_MigrationManager = man; } // Token: 0x060002E9 RID: 745 RVA: 0x0000E3F4 File Offset: 0x0000C5F4 public bool StartServer(ConnectionConfig config, int maxConnections) { return this.StartServer(null, config, maxConnections); } // Token: 0x060002EA RID: 746 RVA: 0x0000E414 File Offset: 0x0000C614 public bool StartServer() { return this.StartServer(null); } // Token: 0x060002EB RID: 747 RVA: 0x0000E430 File Offset: 0x0000C630 public bool StartServer(MatchInfo info) { return this.StartServer(info, null, -1); } // Token: 0x060002EC RID: 748 RVA: 0x0000E450 File Offset: 0x0000C650 private bool StartServer(MatchInfo info, ConnectionConfig config, int maxConnections) { this.InitializeSingleton(); this.OnStartServer(); if (this.m_RunInBackground) { Application.runInBackground = true; } NetworkCRC.scriptCRCCheck = this.scriptCRCCheck; NetworkServer.useWebSockets = this.m_UseWebSockets; if (this.m_GlobalConfig != null) { NetworkTransport.Init(this.m_GlobalConfig); } if (this.m_CustomConfig && this.m_ConnectionConfig != null && config == null) { this.m_ConnectionConfig.Channels.Clear(); for (int i = 0; i < this.m_Channels.Count; i++) { this.m_ConnectionConfig.AddChannel(this.m_Channels[i]); } NetworkServer.Configure(this.m_ConnectionConfig, this.m_MaxConnections); } if (config != null) { NetworkServer.Configure(config, maxConnections); } if (info != null) { if (!NetworkServer.Listen(info, this.m_NetworkPort)) { if (LogFilter.logError) { Debug.LogError("StartServer listen failed."); } return false; } } else if (this.m_ServerBindToIP && !string.IsNullOrEmpty(this.m_ServerBindAddress)) { if (!NetworkServer.Listen(this.m_ServerBindAddress, this.m_NetworkPort)) { if (LogFilter.logError) { Debug.LogError("StartServer listen on " + this.m_ServerBindAddress + " failed."); } return false; } } else if (!NetworkServer.Listen(this.m_NetworkPort)) { if (LogFilter.logError) { Debug.LogError("StartServer listen failed."); } return false; } this.RegisterServerMessages(); if (LogFilter.logDebug) { Debug.Log("NetworkManager StartServer port:" + this.m_NetworkPort); } this.isNetworkActive = true; string name = SceneManager.GetSceneAt(0).name; if (!string.IsNullOrEmpty(this.m_OnlineScene) && this.m_OnlineScene != name && this.m_OnlineScene != this.m_OfflineScene) { this.ServerChangeScene(this.m_OnlineScene); } else { NetworkServer.SpawnObjects(); } return true; } // Token: 0x060002ED RID: 749 RVA: 0x0000E6A0 File Offset: 0x0000C8A0 internal void RegisterClientMessages(NetworkClient client) { client.RegisterHandler(32, new NetworkMessageDelegate(this.OnClientConnectInternal)); client.RegisterHandler(33, new NetworkMessageDelegate(this.OnClientDisconnectInternal)); client.RegisterHandler(36, new NetworkMessageDelegate(this.OnClientNotReadyMessageInternal)); client.RegisterHandler(34, new NetworkMessageDelegate(this.OnClientErrorInternal)); client.RegisterHandler(39, new NetworkMessageDelegate(this.OnClientSceneInternal)); if (this.m_PlayerPrefab != null) { ClientScene.RegisterPrefab(this.m_PlayerPrefab); } for (int i = 0; i < this.m_SpawnPrefabs.Count; i++) { GameObject gameObject = this.m_SpawnPrefabs[i]; if (gameObject != null) { ClientScene.RegisterPrefab(gameObject); } } } // Token: 0x060002EE RID: 750 RVA: 0x0000E770 File Offset: 0x0000C970 public void UseExternalClient(NetworkClient externalClient) { if (this.m_RunInBackground) { Application.runInBackground = true; } if (externalClient != null) { this.client = externalClient; this.isNetworkActive = true; this.RegisterClientMessages(this.client); this.OnStartClient(this.client); } else { this.OnStopClient(); ClientScene.DestroyAllClientObjects(); ClientScene.HandleClientDisconnect(this.client.connection); this.client = null; if (!string.IsNullOrEmpty(this.m_OfflineScene)) { this.ClientChangeScene(this.m_OfflineScene, false); } } NetworkManager.s_Address = this.m_NetworkAddress; } // Token: 0x060002EF RID: 751 RVA: 0x0000E810 File Offset: 0x0000CA10 public NetworkClient StartClient(MatchInfo info, ConnectionConfig config, int hostPort) { this.InitializeSingleton(); this.matchInfo = info; if (this.m_RunInBackground) { Application.runInBackground = true; } this.isNetworkActive = true; if (this.m_GlobalConfig != null) { NetworkTransport.Init(this.m_GlobalConfig); } this.client = new NetworkClient(); this.client.hostPort = hostPort; if (config != null) { if (config.UsePlatformSpecificProtocols && Application.platform != RuntimePlatform.PS4 && Application.platform != RuntimePlatform.PSP2) { throw new ArgumentOutOfRangeException("Platform specific protocols are not supported on this platform"); } this.client.Configure(config, 1); } else if (this.m_CustomConfig && this.m_ConnectionConfig != null) { this.m_ConnectionConfig.Channels.Clear(); for (int i = 0; i < this.m_Channels.Count; i++) { this.m_ConnectionConfig.AddChannel(this.m_Channels[i]); } if (this.m_ConnectionConfig.UsePlatformSpecificProtocols && Application.platform != RuntimePlatform.PS4 && Application.platform != RuntimePlatform.PSP2) { throw new ArgumentOutOfRangeException("Platform specific protocols are not supported on this platform"); } this.client.Configure(this.m_ConnectionConfig, this.m_MaxConnections); } this.RegisterClientMessages(this.client); if (this.matchInfo != null) { if (LogFilter.logDebug) { Debug.Log("NetworkManager StartClient match: " + this.matchInfo); } this.client.Connect(this.matchInfo); } else if (this.m_EndPoint != null) { if (LogFilter.logDebug) { Debug.Log("NetworkManager StartClient using provided SecureTunnel"); } this.client.Connect(this.m_EndPoint); } else { if (string.IsNullOrEmpty(this.m_NetworkAddress)) { if (LogFilter.logError) { Debug.LogError("Must set the Network Address field in the manager"); } return null; } if (LogFilter.logDebug) { Debug.Log(string.Concat(new object[] { "NetworkManager StartClient address:", this.m_NetworkAddress, " port:", this.m_NetworkPort })); } if (this.m_UseSimulator) { this.client.ConnectWithSimulator(this.m_NetworkAddress, this.m_NetworkPort, this.m_SimulatedLatency, this.m_PacketLossPercentage); } else { this.client.Connect(this.m_NetworkAddress, this.m_NetworkPort); } } if (this.m_MigrationManager != null) { this.m_MigrationManager.Initialize(this.client, this.matchInfo); } this.OnStartClient(this.client); NetworkManager.s_Address = this.m_NetworkAddress; return this.client; } // Token: 0x060002F0 RID: 752 RVA: 0x0000EB00 File Offset: 0x0000CD00 public NetworkClient StartClient(MatchInfo matchInfo) { return this.StartClient(matchInfo, null); } // Token: 0x060002F1 RID: 753 RVA: 0x0000EB20 File Offset: 0x0000CD20 public NetworkClient StartClient() { return this.StartClient(null, null); } // Token: 0x060002F2 RID: 754 RVA: 0x0000EB40 File Offset: 0x0000CD40 public NetworkClient StartClient(MatchInfo info, ConnectionConfig config) { return this.StartClient(info, config, 0); } // Token: 0x060002F3 RID: 755 RVA: 0x0000EB60 File Offset: 0x0000CD60 public virtual NetworkClient StartHost(ConnectionConfig config, int maxConnections) { this.OnStartHost(); NetworkClient networkClient2; if (this.StartServer(config, maxConnections)) { NetworkClient networkClient = this.ConnectLocalClient(); this.OnServerConnect(networkClient.connection); this.OnStartClient(networkClient); networkClient2 = networkClient; } else { networkClient2 = null; } return networkClient2; } // Token: 0x060002F4 RID: 756 RVA: 0x0000EBAC File Offset: 0x0000CDAC public virtual NetworkClient StartHost(MatchInfo info) { this.OnStartHost(); this.matchInfo = info; NetworkClient networkClient2; if (this.StartServer(info)) { NetworkClient networkClient = this.ConnectLocalClient(); this.OnStartClient(networkClient); networkClient2 = networkClient; } else { networkClient2 = null; } return networkClient2; } // Token: 0x060002F5 RID: 757 RVA: 0x0000EBF4 File Offset: 0x0000CDF4 public virtual NetworkClient StartHost() { this.OnStartHost(); NetworkClient networkClient2; if (this.StartServer()) { NetworkClient networkClient = this.ConnectLocalClient(); this.OnStartClient(networkClient); networkClient2 = networkClient; } else { networkClient2 = null; } return networkClient2; } // Token: 0x060002F6 RID: 758 RVA: 0x0000EC34 File Offset: 0x0000CE34 private NetworkClient ConnectLocalClient() { if (LogFilter.logDebug) { Debug.Log("NetworkManager StartHost port:" + this.m_NetworkPort); } this.m_NetworkAddress = "localhost"; this.client = ClientScene.ConnectLocalServer(); this.RegisterClientMessages(this.client); if (this.m_MigrationManager != null) { this.m_MigrationManager.Initialize(this.client, this.matchInfo); } return this.client; } // Token: 0x060002F7 RID: 759 RVA: 0x0000ECC4 File Offset: 0x0000CEC4 public void StopHost() { bool active = NetworkServer.active; this.OnStopHost(); this.StopServer(); this.StopClient(); if (this.m_MigrationManager != null) { if (active) { this.m_MigrationManager.LostHostOnHost(); } } } // Token: 0x060002F8 RID: 760 RVA: 0x0000ED10 File Offset: 0x0000CF10 public void StopServer() { if (NetworkServer.active) { this.OnStopServer(); if (LogFilter.logDebug) { Debug.Log("NetworkManager StopServer"); } this.isNetworkActive = false; NetworkServer.Shutdown(); this.StopMatchMaker(); if (!string.IsNullOrEmpty(this.m_OfflineScene)) { this.ServerChangeScene(this.m_OfflineScene); } this.CleanupNetworkIdentities(); } } // Token: 0x060002F9 RID: 761 RVA: 0x0000ED80 File Offset: 0x0000CF80 public void StopClient() { this.OnStopClient(); if (LogFilter.logDebug) { Debug.Log("NetworkManager StopClient"); } this.isNetworkActive = false; if (this.client != null) { this.client.Disconnect(); this.client.Shutdown(); this.client = null; } this.StopMatchMaker(); ClientScene.DestroyAllClientObjects(); if (!string.IsNullOrEmpty(this.m_OfflineScene)) { this.ClientChangeScene(this.m_OfflineScene, false); } this.CleanupNetworkIdentities(); } // Token: 0x060002FA RID: 762 RVA: 0x0000EE0C File Offset: 0x0000D00C public virtual void ServerChangeScene(string newSceneName) { if (string.IsNullOrEmpty(newSceneName)) { if (LogFilter.logError) { Debug.LogError("ServerChangeScene empty scene name"); } } else { if (LogFilter.logDebug) { Debug.Log("ServerChangeScene " + newSceneName); } NetworkServer.SetAllClientsNotReady(); NetworkManager.networkSceneName = newSceneName; NetworkManager.s_LoadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); StringMessage stringMessage = new StringMessage(NetworkManager.networkSceneName); NetworkServer.SendToAll(39, stringMessage); NetworkManager.s_StartPositionIndex = 0; NetworkManager.s_StartPositions.Clear(); } } // Token: 0x060002FB RID: 763 RVA: 0x0000EE98 File Offset: 0x0000D098 private void CleanupNetworkIdentities() { foreach (NetworkIdentity networkIdentity in Resources.FindObjectsOfTypeAll()) { networkIdentity.MarkForReset(); } } // Token: 0x060002FC RID: 764 RVA: 0x0000EED0 File Offset: 0x0000D0D0 internal void ClientChangeScene(string newSceneName, bool forceReload) { if (string.IsNullOrEmpty(newSceneName)) { if (LogFilter.logError) { Debug.LogError("ClientChangeScene empty scene name"); } } else { if (LogFilter.logDebug) { Debug.Log("ClientChangeScene newSceneName:" + newSceneName + " networkSceneName:" + NetworkManager.networkSceneName); } if (newSceneName == NetworkManager.networkSceneName) { if (this.m_MigrationManager != null) { this.FinishLoadScene(); return; } if (!forceReload) { this.FinishLoadScene(); return; } } NetworkManager.s_LoadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); NetworkManager.networkSceneName = newSceneName; } } // Token: 0x060002FD RID: 765 RVA: 0x0000EF80 File Offset: 0x0000D180 private void FinishLoadScene() { if (this.client != null) { if (NetworkManager.s_ClientReadyConnection != null) { this.m_ClientLoadedScene = true; this.OnClientConnect(NetworkManager.s_ClientReadyConnection); NetworkManager.s_ClientReadyConnection = null; } } else if (LogFilter.logDev) { Debug.Log("FinishLoadScene client is null"); } if (NetworkServer.active) { NetworkServer.SpawnObjects(); this.OnServerSceneChanged(NetworkManager.networkSceneName); } if (this.IsClientConnected() && this.client != null) { this.RegisterClientMessages(this.client); this.OnClientSceneChanged(this.client.connection); } } // Token: 0x060002FE RID: 766 RVA: 0x0000F030 File Offset: 0x0000D230 internal static void UpdateScene() { if (!(NetworkManager.singleton == null)) { if (NetworkManager.s_LoadingSceneAsync != null) { if (NetworkManager.s_LoadingSceneAsync.isDone) { if (LogFilter.logDebug) { Debug.Log("ClientChangeScene done readyCon:" + NetworkManager.s_ClientReadyConnection); } NetworkManager.singleton.FinishLoadScene(); NetworkManager.s_LoadingSceneAsync.allowSceneActivation = true; NetworkManager.s_LoadingSceneAsync = null; } } } } // Token: 0x060002FF RID: 767 RVA: 0x0000F0B1 File Offset: 0x0000D2B1 private void OnDestroy() { if (LogFilter.logDev) { Debug.Log("NetworkManager destroyed"); } } // Token: 0x06000300 RID: 768 RVA: 0x0000F0CA File Offset: 0x0000D2CA public static void RegisterStartPosition(Transform start) { if (LogFilter.logDebug) { Debug.Log("RegisterStartPosition:" + start); } NetworkManager.s_StartPositions.Add(start); } // Token: 0x06000301 RID: 769 RVA: 0x0000F0F4 File Offset: 0x0000D2F4 public static void UnRegisterStartPosition(Transform start) { if (LogFilter.logDebug) { Debug.Log("UnRegisterStartPosition:" + start); } NetworkManager.s_StartPositions.Remove(start); } // Token: 0x06000302 RID: 770 RVA: 0x0000F120 File Offset: 0x0000D320 public bool IsClientConnected() { return this.client != null && this.client.isConnected; } // Token: 0x06000303 RID: 771 RVA: 0x0000F14E File Offset: 0x0000D34E public static void Shutdown() { if (!(NetworkManager.singleton == null)) { NetworkManager.s_StartPositions.Clear(); NetworkManager.s_StartPositionIndex = 0; NetworkManager.s_ClientReadyConnection = null; NetworkManager.singleton.StopHost(); NetworkManager.singleton = null; } } // Token: 0x06000304 RID: 772 RVA: 0x0000F18C File Offset: 0x0000D38C internal void OnServerConnectInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerConnectInternal"); } netMsg.conn.SetMaxDelay(this.m_MaxDelay); if (this.m_MaxBufferedPackets != 512) { for (int i = 0; i < NetworkServer.numChannels; i++) { netMsg.conn.SetChannelOption(i, ChannelOption.MaxPendingBuffers, this.m_MaxBufferedPackets); } } if (!this.m_AllowFragmentation) { for (int j = 0; j < NetworkServer.numChannels; j++) { netMsg.conn.SetChannelOption(j, ChannelOption.AllowFragmentation, 0); } } if (NetworkManager.networkSceneName != "" && NetworkManager.networkSceneName != this.m_OfflineScene) { StringMessage stringMessage = new StringMessage(NetworkManager.networkSceneName); netMsg.conn.Send(39, stringMessage); } if (this.m_MigrationManager != null) { this.m_MigrationManager.SendPeerInfo(); } this.OnServerConnect(netMsg.conn); } // Token: 0x06000305 RID: 773 RVA: 0x0000F2A4 File Offset: 0x0000D4A4 internal void OnServerDisconnectInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerDisconnectInternal"); } if (this.m_MigrationManager != null) { this.m_MigrationManager.SendPeerInfo(); } this.OnServerDisconnect(netMsg.conn); } // Token: 0x06000306 RID: 774 RVA: 0x0000F2F2 File Offset: 0x0000D4F2 internal void OnServerReadyMessageInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerReadyMessageInternal"); } this.OnServerReady(netMsg.conn); } // Token: 0x06000307 RID: 775 RVA: 0x0000F318 File Offset: 0x0000D518 internal void OnServerAddPlayerMessageInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerAddPlayerMessageInternal"); } netMsg.ReadMessage(NetworkManager.s_AddPlayerMessage); if (NetworkManager.s_AddPlayerMessage.msgSize != 0) { NetworkReader networkReader = new NetworkReader(NetworkManager.s_AddPlayerMessage.msgData); this.OnServerAddPlayer(netMsg.conn, NetworkManager.s_AddPlayerMessage.playerControllerId, networkReader); } else { this.OnServerAddPlayer(netMsg.conn, NetworkManager.s_AddPlayerMessage.playerControllerId); } if (this.m_MigrationManager != null) { this.m_MigrationManager.SendPeerInfo(); } } // Token: 0x06000308 RID: 776 RVA: 0x0000F3BC File Offset: 0x0000D5BC internal void OnServerRemovePlayerMessageInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerRemovePlayerMessageInternal"); } netMsg.ReadMessage(NetworkManager.s_RemovePlayerMessage); PlayerController playerController; netMsg.conn.GetPlayerController(NetworkManager.s_RemovePlayerMessage.playerControllerId, out playerController); this.OnServerRemovePlayer(netMsg.conn, playerController); netMsg.conn.RemovePlayerController(NetworkManager.s_RemovePlayerMessage.playerControllerId); if (this.m_MigrationManager != null) { this.m_MigrationManager.SendPeerInfo(); } } // Token: 0x06000309 RID: 777 RVA: 0x0000F443 File Offset: 0x0000D643 internal void OnServerErrorInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerErrorInternal"); } netMsg.ReadMessage(NetworkManager.s_ErrorMessage); this.OnServerError(netMsg.conn, NetworkManager.s_ErrorMessage.errorCode); } // Token: 0x0600030A RID: 778 RVA: 0x0000F480 File Offset: 0x0000D680 internal void OnClientConnectInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnClientConnectInternal"); } netMsg.conn.SetMaxDelay(this.m_MaxDelay); string name = SceneManager.GetSceneAt(0).name; if (string.IsNullOrEmpty(this.m_OnlineScene) || this.m_OnlineScene == this.m_OfflineScene || name == this.m_OnlineScene) { this.m_ClientLoadedScene = false; this.OnClientConnect(netMsg.conn); } else { NetworkManager.s_ClientReadyConnection = netMsg.conn; } } // Token: 0x0600030B RID: 779 RVA: 0x0000F524 File Offset: 0x0000D724 internal void OnClientDisconnectInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnClientDisconnectInternal"); } if (this.m_MigrationManager != null) { if (this.m_MigrationManager.LostHostOnClient(netMsg.conn)) { return; } } if (!string.IsNullOrEmpty(this.m_OfflineScene)) { this.ClientChangeScene(this.m_OfflineScene, false); } if (this.matchMaker != null && this.matchInfo != null && this.matchInfo.networkId != NetworkID.Invalid && this.matchInfo.nodeId != NodeID.Invalid) { this.matchMaker.DropConnection(this.matchInfo.networkId, this.matchInfo.nodeId, this.matchInfo.domain, new NetworkMatch.BasicResponseDelegate(this.OnDropConnection)); } this.OnClientDisconnect(netMsg.conn); } // Token: 0x0600030C RID: 780 RVA: 0x0000F61C File Offset: 0x0000D81C internal void OnClientNotReadyMessageInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnClientNotReadyMessageInternal"); } ClientScene.SetNotReady(); this.OnClientNotReady(netMsg.conn); } // Token: 0x0600030D RID: 781 RVA: 0x0000F646 File Offset: 0x0000D846 internal void OnClientErrorInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnClientErrorInternal"); } netMsg.ReadMessage(NetworkManager.s_ErrorMessage); this.OnClientError(netMsg.conn, NetworkManager.s_ErrorMessage.errorCode); } // Token: 0x0600030E RID: 782 RVA: 0x0000F680 File Offset: 0x0000D880 internal void OnClientSceneInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnClientSceneInternal"); } string text = netMsg.reader.ReadString(); if (this.IsClientConnected() && !NetworkServer.active) { this.ClientChangeScene(text, true); } } // Token: 0x0600030F RID: 783 RVA: 0x0000F6CF File Offset: 0x0000D8CF public virtual void OnServerConnect(NetworkConnection conn) { } // Token: 0x06000310 RID: 784 RVA: 0x0000F6D2 File Offset: 0x0000D8D2 public virtual void OnServerDisconnect(NetworkConnection conn) { NetworkServer.DestroyPlayersForConnection(conn); if (conn.lastError != NetworkError.Ok) { if (LogFilter.logError) { Debug.LogError("ServerDisconnected due to error: " + conn.lastError); } } } // Token: 0x06000311 RID: 785 RVA: 0x0000F70E File Offset: 0x0000D90E public virtual void OnServerReady(NetworkConnection conn) { if (conn.playerControllers.Count == 0) { if (LogFilter.logDebug) { Debug.Log("Ready with no player object"); } } NetworkServer.SetClientReady(conn); } // Token: 0x06000312 RID: 786 RVA: 0x0000F73F File Offset: 0x0000D93F public virtual void OnServerAddPlayer(NetworkConnection conn, short playerControllerId, NetworkReader extraMessageReader) { this.OnServerAddPlayerInternal(conn, playerControllerId); } // Token: 0x06000313 RID: 787 RVA: 0x0000F74A File Offset: 0x0000D94A public virtual void OnServerAddPlayer(NetworkConnection conn, short playerControllerId) { this.OnServerAddPlayerInternal(conn, playerControllerId); } // Token: 0x06000314 RID: 788 RVA: 0x0000F758 File Offset: 0x0000D958 private void OnServerAddPlayerInternal(NetworkConnection conn, short playerControllerId) { if (this.m_PlayerPrefab == null) { if (LogFilter.logError) { Debug.LogError("The PlayerPrefab is empty on the NetworkManager. Please setup a PlayerPrefab object."); } } else if (this.m_PlayerPrefab.GetComponent() == null) { if (LogFilter.logError) { Debug.LogError("The PlayerPrefab does not have a NetworkIdentity. Please add a NetworkIdentity to the player prefab."); } } else if ((int)playerControllerId < conn.playerControllers.Count && conn.playerControllers[(int)playerControllerId].IsValid && conn.playerControllers[(int)playerControllerId].gameObject != null) { if (LogFilter.logError) { Debug.LogError("There is already a player at that playerControllerId for this connections."); } } else { Transform startPosition = this.GetStartPosition(); GameObject gameObject; if (startPosition != null) { gameObject = Object.Instantiate(this.m_PlayerPrefab, startPosition.position, startPosition.rotation); } else { gameObject = Object.Instantiate(this.m_PlayerPrefab, Vector3.zero, Quaternion.identity); } NetworkServer.AddPlayerForConnection(conn, gameObject, playerControllerId); } } // Token: 0x06000315 RID: 789 RVA: 0x0000F878 File Offset: 0x0000DA78 public Transform GetStartPosition() { if (NetworkManager.s_StartPositions.Count > 0) { for (int i = NetworkManager.s_StartPositions.Count - 1; i >= 0; i--) { if (NetworkManager.s_StartPositions[i] == null) { NetworkManager.s_StartPositions.RemoveAt(i); } } } Transform transform; if (this.m_PlayerSpawnMethod == PlayerSpawnMethod.Random && NetworkManager.s_StartPositions.Count > 0) { int num = Random.Range(0, NetworkManager.s_StartPositions.Count); transform = NetworkManager.s_StartPositions[num]; } else if (this.m_PlayerSpawnMethod == PlayerSpawnMethod.RoundRobin && NetworkManager.s_StartPositions.Count > 0) { if (NetworkManager.s_StartPositionIndex >= NetworkManager.s_StartPositions.Count) { NetworkManager.s_StartPositionIndex = 0; } Transform transform2 = NetworkManager.s_StartPositions[NetworkManager.s_StartPositionIndex]; NetworkManager.s_StartPositionIndex++; transform = transform2; } else { transform = null; } return transform; } // Token: 0x06000316 RID: 790 RVA: 0x0000F97A File Offset: 0x0000DB7A public virtual void OnServerRemovePlayer(NetworkConnection conn, PlayerController player) { if (player.gameObject != null) { NetworkServer.Destroy(player.gameObject); } } // Token: 0x06000317 RID: 791 RVA: 0x0000F99B File Offset: 0x0000DB9B public virtual void OnServerError(NetworkConnection conn, int errorCode) { } // Token: 0x06000318 RID: 792 RVA: 0x0000F99E File Offset: 0x0000DB9E public virtual void OnServerSceneChanged(string sceneName) { } // Token: 0x06000319 RID: 793 RVA: 0x0000F9A1 File Offset: 0x0000DBA1 public virtual void OnClientConnect(NetworkConnection conn) { if (!this.clientLoadedScene) { ClientScene.Ready(conn); if (this.m_AutoCreatePlayer) { ClientScene.AddPlayer(0); } } } // Token: 0x0600031A RID: 794 RVA: 0x0000F9CC File Offset: 0x0000DBCC public virtual void OnClientDisconnect(NetworkConnection conn) { this.StopClient(); if (conn.lastError != NetworkError.Ok) { if (LogFilter.logError) { Debug.LogError("ClientDisconnected due to error: " + conn.lastError); } } } // Token: 0x0600031B RID: 795 RVA: 0x0000FA08 File Offset: 0x0000DC08 public virtual void OnClientError(NetworkConnection conn, int errorCode) { } // Token: 0x0600031C RID: 796 RVA: 0x0000FA0B File Offset: 0x0000DC0B public virtual void OnClientNotReady(NetworkConnection conn) { } // Token: 0x0600031D RID: 797 RVA: 0x0000FA10 File Offset: 0x0000DC10 public virtual void OnClientSceneChanged(NetworkConnection conn) { ClientScene.Ready(conn); if (this.m_AutoCreatePlayer) { bool flag = ClientScene.localPlayers.Count == 0; bool flag2 = false; for (int i = 0; i < ClientScene.localPlayers.Count; i++) { if (ClientScene.localPlayers[i].gameObject != null) { flag2 = true; break; } } if (!flag2) { flag = true; } if (flag) { ClientScene.AddPlayer(0); } } } // Token: 0x0600031E RID: 798 RVA: 0x0000FA9F File Offset: 0x0000DC9F public void StartMatchMaker() { if (LogFilter.logDebug) { Debug.Log("NetworkManager StartMatchMaker"); } this.SetMatchHost(this.m_MatchHost, this.m_MatchPort, this.m_MatchPort == 443); } // Token: 0x0600031F RID: 799 RVA: 0x0000FAD8 File Offset: 0x0000DCD8 public void StopMatchMaker() { if (this.matchMaker != null && this.matchInfo != null && this.matchInfo.networkId != NetworkID.Invalid && this.matchInfo.nodeId != NodeID.Invalid) { this.matchMaker.DropConnection(this.matchInfo.networkId, this.matchInfo.nodeId, this.matchInfo.domain, new NetworkMatch.BasicResponseDelegate(this.OnDropConnection)); } if (this.matchMaker != null) { Object.Destroy(this.matchMaker); this.matchMaker = null; } this.matchInfo = null; this.matches = null; } // Token: 0x06000320 RID: 800 RVA: 0x0000FB94 File Offset: 0x0000DD94 public void SetMatchHost(string newHost, int port, bool https) { if (this.matchMaker == null) { this.matchMaker = base.gameObject.AddComponent(); } if (newHost == "127.0.0.1") { newHost = "localhost"; } string text = "http://"; if (https) { text = "https://"; } if (newHost.StartsWith("http://")) { newHost = newHost.Replace("http://", ""); } if (newHost.StartsWith("https://")) { newHost = newHost.Replace("https://", ""); } this.m_MatchHost = newHost; this.m_MatchPort = port; string text2 = string.Concat(new object[] { text, this.m_MatchHost, ":", this.m_MatchPort }); if (LogFilter.logDebug) { Debug.Log("SetMatchHost:" + text2); } this.matchMaker.baseUri = new Uri(text2); } // Token: 0x06000321 RID: 801 RVA: 0x0000FCA5 File Offset: 0x0000DEA5 public virtual void OnStartHost() { } // Token: 0x06000322 RID: 802 RVA: 0x0000FCA8 File Offset: 0x0000DEA8 public virtual void OnStartServer() { } // Token: 0x06000323 RID: 803 RVA: 0x0000FCAB File Offset: 0x0000DEAB public virtual void OnStartClient(NetworkClient client) { } // Token: 0x06000324 RID: 804 RVA: 0x0000FCAE File Offset: 0x0000DEAE public virtual void OnStopServer() { } // Token: 0x06000325 RID: 805 RVA: 0x0000FCB1 File Offset: 0x0000DEB1 public virtual void OnStopClient() { } // Token: 0x06000326 RID: 806 RVA: 0x0000FCB4 File Offset: 0x0000DEB4 public virtual void OnStopHost() { } // Token: 0x06000327 RID: 807 RVA: 0x0000FCB7 File Offset: 0x0000DEB7 public virtual void OnMatchCreate(bool success, string extendedInfo, MatchInfo matchInfo) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchCreate Success:{0}, ExtendedInfo:{1}, matchInfo:{2}", new object[] { success, extendedInfo, matchInfo }); } if (success) { this.StartHost(matchInfo); } } // Token: 0x06000328 RID: 808 RVA: 0x0000FCF8 File Offset: 0x0000DEF8 public virtual void OnMatchList(bool success, string extendedInfo, List matchList) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchList Success:{0}, ExtendedInfo:{1}, matchList.Count:{2}", new object[] { success, extendedInfo, matchList.Count }); } this.matches = matchList; } // Token: 0x06000329 RID: 809 RVA: 0x0000FD44 File Offset: 0x0000DF44 public virtual void OnMatchJoined(bool success, string extendedInfo, MatchInfo matchInfo) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnMatchJoined Success:{0}, ExtendedInfo:{1}, matchInfo:{2}", new object[] { success, extendedInfo, matchInfo }); } if (success) { this.StartClient(matchInfo); } } // Token: 0x0600032A RID: 810 RVA: 0x0000FD82 File Offset: 0x0000DF82 public virtual void OnDestroyMatch(bool success, string extendedInfo) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnDestroyMatch Success:{0}, ExtendedInfo:{1}", new object[] { success, extendedInfo }); } } // Token: 0x0600032B RID: 811 RVA: 0x0000FDAE File Offset: 0x0000DFAE public virtual void OnDropConnection(bool success, string extendedInfo) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnDropConnection Success:{0}, ExtendedInfo:{1}", new object[] { success, extendedInfo }); } } // Token: 0x0600032C RID: 812 RVA: 0x0000FDDA File Offset: 0x0000DFDA public virtual void OnSetMatchAttributes(bool success, string extendedInfo) { if (LogFilter.logDebug) { Debug.LogFormat("NetworkManager OnSetMatchAttributes Success:{0}, ExtendedInfo:{1}", new object[] { success, extendedInfo }); } } // Token: 0x04000159 RID: 345 [SerializeField] private int m_NetworkPort = 7777; // Token: 0x0400015A RID: 346 [SerializeField] private bool m_ServerBindToIP; // Token: 0x0400015B RID: 347 [SerializeField] private string m_ServerBindAddress = ""; // Token: 0x0400015C RID: 348 [SerializeField] private string m_NetworkAddress = "localhost"; // Token: 0x0400015D RID: 349 [SerializeField] private bool m_DontDestroyOnLoad = true; // Token: 0x0400015E RID: 350 [SerializeField] private bool m_RunInBackground = true; // Token: 0x0400015F RID: 351 [SerializeField] private bool m_ScriptCRCCheck = true; // Token: 0x04000160 RID: 352 [SerializeField] private float m_MaxDelay = 0.01f; // Token: 0x04000161 RID: 353 [SerializeField] private LogFilter.FilterLevel m_LogLevel = LogFilter.FilterLevel.Info; // Token: 0x04000162 RID: 354 [SerializeField] private GameObject m_PlayerPrefab; // Token: 0x04000163 RID: 355 [SerializeField] private bool m_AutoCreatePlayer = true; // Token: 0x04000164 RID: 356 [SerializeField] private PlayerSpawnMethod m_PlayerSpawnMethod; // Token: 0x04000165 RID: 357 [SerializeField] private string m_OfflineScene = ""; // Token: 0x04000166 RID: 358 [SerializeField] private string m_OnlineScene = ""; // Token: 0x04000167 RID: 359 [SerializeField] private List m_SpawnPrefabs = new List(); // Token: 0x04000168 RID: 360 [SerializeField] private bool m_CustomConfig; // Token: 0x04000169 RID: 361 [SerializeField] private int m_MaxConnections = 4; // Token: 0x0400016A RID: 362 [SerializeField] private ConnectionConfig m_ConnectionConfig; // Token: 0x0400016B RID: 363 [SerializeField] private GlobalConfig m_GlobalConfig; // Token: 0x0400016C RID: 364 [SerializeField] private List m_Channels = new List(); // Token: 0x0400016D RID: 365 [SerializeField] private bool m_UseWebSockets; // Token: 0x0400016E RID: 366 [SerializeField] private bool m_UseSimulator; // Token: 0x0400016F RID: 367 [SerializeField] private int m_SimulatedLatency = 1; // Token: 0x04000170 RID: 368 [SerializeField] private float m_PacketLossPercentage; // Token: 0x04000171 RID: 369 [SerializeField] private int m_MaxBufferedPackets = 16; // Token: 0x04000172 RID: 370 [SerializeField] private bool m_AllowFragmentation = true; // Token: 0x04000173 RID: 371 [SerializeField] private string m_MatchHost = "mm.unet.unity3d.com"; // Token: 0x04000174 RID: 372 [SerializeField] private int m_MatchPort = 443; // Token: 0x04000175 RID: 373 [SerializeField] public string matchName = "default"; // Token: 0x04000176 RID: 374 [SerializeField] public uint matchSize = 4U; // Token: 0x04000177 RID: 375 private NetworkMigrationManager m_MigrationManager; // Token: 0x04000178 RID: 376 private EndPoint m_EndPoint; // Token: 0x04000179 RID: 377 private bool m_ClientLoadedScene; // Token: 0x0400017A RID: 378 public static string networkSceneName = ""; // Token: 0x0400017B RID: 379 public bool isNetworkActive; // Token: 0x0400017C RID: 380 public NetworkClient client; // Token: 0x0400017D RID: 381 private static List s_StartPositions = new List(); // Token: 0x0400017E RID: 382 private static int s_StartPositionIndex; // Token: 0x0400017F RID: 383 public MatchInfo matchInfo; // Token: 0x04000180 RID: 384 public NetworkMatch matchMaker; // Token: 0x04000181 RID: 385 public List matches; // Token: 0x04000182 RID: 386 public static NetworkManager singleton; // Token: 0x04000183 RID: 387 private static AddPlayerMessage s_AddPlayerMessage = new AddPlayerMessage(); // Token: 0x04000184 RID: 388 private static RemovePlayerMessage s_RemovePlayerMessage = new RemovePlayerMessage(); // Token: 0x04000185 RID: 389 private static ErrorMessage s_ErrorMessage = new ErrorMessage(); // Token: 0x04000186 RID: 390 private static AsyncOperation s_LoadingSceneAsync; // Token: 0x04000187 RID: 391 private static NetworkConnection s_ClientReadyConnection; // Token: 0x04000188 RID: 392 private static string s_Address; } }