public PheggPlayer(GameObject player) { if (player == null) { throw new Exception("Cannot create PheggPlayer from null game object"); } else if (player.GetComponent <CharacterClassManager>().isLocalPlayer) { Base.Debug("Cannot create PheggPlayer for server"); return; } else { try { #region components _CharacterClassManager = player.GetComponent <CharacterClassManager>(); _serverRoles = player.GetComponent <ServerRoles>(); _nicknameSync = player.GetComponent <NicknameSync>(); _queryProcessor = player.GetComponent <QueryProcessor>(); _handcuffs = player.GetComponent <Handcuffs>(); _playerStats = player.GetComponent <PlayerStats>(); _ammoBox = player.GetComponent <AmmoBox>(); _inventory = player.GetComponent <Inventory>(); _plyMovementSync = player.GetComponent <PlayerMovementSync>(); _banPlayer = player.GetComponent <BanPlayer>(); _networkConnection = player.GetComponent <NetworkConnection>(); _broadcast = player.GetComponent <Broadcast>(); #endregion name = _nicknameSync.MyNick; nameClean = _filterNames.Replace(name, string.Empty); userId = _CharacterClassManager.UserId; domain = _CharacterClassManager.UserId.Split('@')[1].ToUpper(); ipAddress = _nicknameSync.connectionToClient.address; playerId = _queryProcessor.PlayerId; gameObject = player; commonComponents = new Components { ccm = _CharacterClassManager, sr = _serverRoles, ns = _nicknameSync, qp = _queryProcessor, hc = _handcuffs, ps = _playerStats, ab = _ammoBox, inv = _inventory, pms = _plyMovementSync, bp = _banPlayer, nc = _networkConnection, bc = _broadcast }; } catch (Exception e) { throw new Exception(e.ToString()); } } }