Files
Dec2017-Script-Dump/UnityEngine.Networking/NetworkLobbyPlayer.cs
T
2026-06-04 11:42:34 +02:00

263 lines
6.9 KiB
C#

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<NetworkIdentity>().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<NetworkIdentity>().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;
}
}