Example #1
0
        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());
                }
            }
        }