using System; using UnityEngine.Networking.NetworkSystem; using UnityEngine.SceneManagement; namespace UnityEngine.Networking { // Token: 0x0200004A RID: 74 [DisallowMultipleComponent] [AddComponentMenu("Network/NetworkLobbyPlayer")] public class NetworkLobbyPlayer : NetworkBehaviour { // Token: 0x17000068 RID: 104 // (get) Token: 0x06000297 RID: 663 RVA: 0x0001108C File Offset: 0x0000F28C // (set) Token: 0x06000298 RID: 664 RVA: 0x000110A7 File Offset: 0x0000F2A7 public byte slot { get { return this.m_Slot; } set { this.m_Slot = value; } } // Token: 0x17000069 RID: 105 // (get) Token: 0x06000299 RID: 665 RVA: 0x000110B4 File Offset: 0x0000F2B4 // (set) Token: 0x0600029A RID: 666 RVA: 0x000110CF File Offset: 0x0000F2CF public bool readyToBegin { get { return this.m_ReadyToBegin; } set { this.m_ReadyToBegin = value; } } // Token: 0x0600029B RID: 667 RVA: 0x000110D9 File Offset: 0x0000F2D9 private void Start() { Object.DontDestroyOnLoad(base.gameObject); } // Token: 0x0600029C RID: 668 RVA: 0x000110E7 File Offset: 0x0000F2E7 private void OnEnable() { SceneManager.sceneLoaded += this.OnSceneLoaded; } // Token: 0x0600029D RID: 669 RVA: 0x000110FB File Offset: 0x0000F2FB private void OnDisable() { SceneManager.sceneLoaded -= this.OnSceneLoaded; } // Token: 0x0600029E RID: 670 RVA: 0x00011110 File Offset: 0x0000F310 public override void OnStartClient() { NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { networkLobbyManager.lobbySlots[(int)this.m_Slot] = this; this.m_ReadyToBegin = false; this.OnClientEnterLobby(); } else { Debug.LogError("LobbyPlayer could not find a NetworkLobbyManager. The LobbyPlayer requires a NetworkLobbyManager object to function. Make sure that there is one in the scene."); } } // Token: 0x0600029F RID: 671 RVA: 0x00011164 File Offset: 0x0000F364 public void SendReadyToBeginMessage() { if (LogFilter.logDebug) { Debug.Log("NetworkLobbyPlayer SendReadyToBeginMessage"); } NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { LobbyReadyToBeginMessage lobbyReadyToBeginMessage = new LobbyReadyToBeginMessage(); lobbyReadyToBeginMessage.slotId = (byte)base.playerControllerId; lobbyReadyToBeginMessage.readyState = true; networkLobbyManager.client.Send(43, lobbyReadyToBeginMessage); } } // Token: 0x060002A0 RID: 672 RVA: 0x000111CC File Offset: 0x0000F3CC public void SendNotReadyToBeginMessage() { if (LogFilter.logDebug) { Debug.Log("NetworkLobbyPlayer SendReadyToBeginMessage"); } NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { LobbyReadyToBeginMessage lobbyReadyToBeginMessage = new LobbyReadyToBeginMessage(); lobbyReadyToBeginMessage.slotId = (byte)base.playerControllerId; lobbyReadyToBeginMessage.readyState = false; networkLobbyManager.client.Send(43, lobbyReadyToBeginMessage); } } // Token: 0x060002A1 RID: 673 RVA: 0x00011234 File Offset: 0x0000F434 public void SendSceneLoadedMessage() { if (LogFilter.logDebug) { Debug.Log("NetworkLobbyPlayer SendSceneLoadedMessage"); } NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { IntegerMessage integerMessage = new IntegerMessage((int)base.playerControllerId); networkLobbyManager.client.Send(44, integerMessage); } } // Token: 0x060002A2 RID: 674 RVA: 0x0001128C File Offset: 0x0000F48C private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { string name = scene.name; if (name == networkLobbyManager.lobbyScene) { return; } } if (base.isLocalPlayer) { this.SendSceneLoadedMessage(); } } // Token: 0x060002A3 RID: 675 RVA: 0x000112E4 File Offset: 0x0000F4E4 public void RemovePlayer() { if (base.isLocalPlayer && !this.m_ReadyToBegin) { if (LogFilter.logDebug) { Debug.Log("NetworkLobbyPlayer RemovePlayer"); } ClientScene.RemovePlayer(base.GetComponent().playerControllerId); } } // Token: 0x060002A4 RID: 676 RVA: 0x00011331 File Offset: 0x0000F531 public virtual void OnClientEnterLobby() { } // Token: 0x060002A5 RID: 677 RVA: 0x00011334 File Offset: 0x0000F534 public virtual void OnClientExitLobby() { } // Token: 0x060002A6 RID: 678 RVA: 0x00011337 File Offset: 0x0000F537 public virtual void OnClientReady(bool readyState) { } // Token: 0x060002A7 RID: 679 RVA: 0x0001133C File Offset: 0x0000F53C public override bool OnSerialize(NetworkWriter writer, bool initialState) { writer.WritePackedUInt32(1U); writer.Write(this.m_Slot); writer.Write(this.m_ReadyToBegin); return true; } // Token: 0x060002A8 RID: 680 RVA: 0x00011374 File Offset: 0x0000F574 public override void OnDeserialize(NetworkReader reader, bool initialState) { if (reader.ReadPackedUInt32() != 0U) { this.m_Slot = reader.ReadByte(); this.m_ReadyToBegin = reader.ReadBoolean(); } } // Token: 0x060002A9 RID: 681 RVA: 0x000113AC File Offset: 0x0000F5AC private void OnGUI() { if (this.ShowLobbyGUI) { NetworkLobbyManager networkLobbyManager = NetworkManager.singleton as NetworkLobbyManager; if (networkLobbyManager) { if (!networkLobbyManager.showLobbyGUI) { return; } string name = SceneManager.GetSceneAt(0).name; if (name != networkLobbyManager.lobbyScene) { return; } } Rect rect = new Rect((float)(100 + this.m_Slot * 100), 200f, 90f, 20f); if (base.isLocalPlayer) { string text; if (this.m_ReadyToBegin) { text = "(Ready)"; } else { text = "(Not Ready)"; } GUI.Label(rect, text); if (this.m_ReadyToBegin) { rect.y += 25f; if (GUI.Button(rect, "STOP")) { this.SendNotReadyToBeginMessage(); } } else { rect.y += 25f; if (GUI.Button(rect, "START")) { this.SendReadyToBeginMessage(); } rect.y += 25f; if (GUI.Button(rect, "Remove")) { ClientScene.RemovePlayer(base.GetComponent().playerControllerId); } } } else { GUI.Label(rect, "Player [" + base.netId + "]"); rect.y += 25f; GUI.Label(rect, "Ready [" + this.m_ReadyToBegin + "]"); } } } // Token: 0x04000153 RID: 339 [SerializeField] public bool ShowLobbyGUI = true; // Token: 0x04000154 RID: 340 private byte m_Slot; // Token: 0x04000155 RID: 341 private bool m_ReadyToBegin; } }