示例#1
0
        /// <summary>
        /// Creates a new team and adds a single player to it.
        /// </summary>
        /// <param name="P"></param>
        /// <returns></returns>
        public int CreateNewTeam(Player P)
        {
            Team t = new Team();

            t.Id = _teamIDSupplier.PopFreeID();
            t.PlayerIDs.Add(P.Id);

            _databaseManager.SaveAsync(t);
            return(t.Id);
        }
示例#2
0
        /// <summary>
        /// Adds a new player using an existing account
        /// </summary>
        /// <param name="ID"></param>
        /// <param name="username"></param>
        /// <param name="connection"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public Player CreateHumanPlayer(string username, Account account, LocatorService ls)
        {
            var p = new HumanPlayer(_playerIDManager.PopFreeID(), username, account, ls);

            //p.area = new Area();
            _objects.TryAdd(p.Id, p);

            _usernameToPlayer.TryAdd(username, p);
            if (!_usernameToPlayer.ContainsKey(username.ToLower()))
            {
                // Any player that has Caps in their name is added twice
                _usernameToPlayer.TryAdd(username.ToLower(), p);
            }

            p.CashOnHand = 1000000; // I am a kind god ;D
            return(p);
        }