using System; using System.Collections.Generic; namespace UnityEngine.Networking { // Token: 0x02000006 RID: 6 internal class ConnectionArray { // Token: 0x0600005B RID: 91 RVA: 0x00004865 File Offset: 0x00002A65 public ConnectionArray() { this.m_Connections = new List(); this.m_LocalConnections = new List(); } // Token: 0x1700000F RID: 15 // (get) Token: 0x0600005C RID: 92 RVA: 0x00004884 File Offset: 0x00002A84 internal List localConnections { get { return this.m_LocalConnections; } } // Token: 0x17000010 RID: 16 // (get) Token: 0x0600005D RID: 93 RVA: 0x000048A0 File Offset: 0x00002AA0 internal List connections { get { return this.m_Connections; } } // Token: 0x17000011 RID: 17 // (get) Token: 0x0600005E RID: 94 RVA: 0x000048BC File Offset: 0x00002ABC public int Count { get { return this.m_Connections.Count; } } // Token: 0x17000012 RID: 18 // (get) Token: 0x0600005F RID: 95 RVA: 0x000048DC File Offset: 0x00002ADC public int LocalIndex { get { return -this.m_LocalConnections.Count; } } // Token: 0x06000060 RID: 96 RVA: 0x00004900 File Offset: 0x00002B00 public int Add(int connId, NetworkConnection conn) { int num; if (connId < 0) { if (LogFilter.logWarn) { Debug.LogWarning("ConnectionArray Add bad id " + connId); } num = -1; } else if (connId < this.m_Connections.Count && this.m_Connections[connId] != null) { if (LogFilter.logWarn) { Debug.LogWarning("ConnectionArray Add dupe at " + connId); } num = -1; } else { while (connId > this.m_Connections.Count - 1) { this.m_Connections.Add(null); } this.m_Connections[connId] = conn; num = connId; } return num; } // Token: 0x06000061 RID: 97 RVA: 0x000049C4 File Offset: 0x00002BC4 public NetworkConnection Get(int connId) { NetworkConnection networkConnection; if (connId < 0) { networkConnection = this.m_LocalConnections[Mathf.Abs(connId) - 1]; } else if (connId < 0 || connId > this.m_Connections.Count) { if (LogFilter.logWarn) { Debug.LogWarning("ConnectionArray Get invalid index " + connId); } networkConnection = null; } else { networkConnection = this.m_Connections[connId]; } return networkConnection; } // Token: 0x06000062 RID: 98 RVA: 0x00004A48 File Offset: 0x00002C48 public NetworkConnection GetUnsafe(int connId) { NetworkConnection networkConnection; if (connId < 0 || connId > this.m_Connections.Count) { networkConnection = null; } else { networkConnection = this.m_Connections[connId]; } return networkConnection; } // Token: 0x06000063 RID: 99 RVA: 0x00004A8C File Offset: 0x00002C8C public void Remove(int connId) { if (connId < 0) { this.m_LocalConnections[Mathf.Abs(connId) - 1] = null; } else if (connId < 0 || connId > this.m_Connections.Count) { if (LogFilter.logWarn) { Debug.LogWarning("ConnectionArray Remove invalid index " + connId); } } else { this.m_Connections[connId] = null; } } // Token: 0x06000064 RID: 100 RVA: 0x00004B08 File Offset: 0x00002D08 public int AddLocal(NetworkConnection conn) { this.m_LocalConnections.Add(conn); int num = -this.m_LocalConnections.Count; conn.connectionId = num; return num; } // Token: 0x06000065 RID: 101 RVA: 0x00004B40 File Offset: 0x00002D40 public bool ContainsPlayer(GameObject player, out NetworkConnection conn) { conn = null; bool flag; if (player == null) { flag = false; } else { for (int i = this.LocalIndex; i < this.m_Connections.Count; i++) { conn = this.Get(i); if (conn != null) { for (int j = 0; j < conn.playerControllers.Count; j++) { if (conn.playerControllers[j].IsValid && conn.playerControllers[j].gameObject == player) { return true; } } } } flag = false; } return flag; } // Token: 0x04000048 RID: 72 private List m_LocalConnections; // Token: 0x04000049 RID: 73 private List m_Connections; } }