示例#1
0
            public bool RemoveMember(User user)
            {
                if (!HasMember(user.Id))
                {
                    return(false);
                }

                if (HasOwner(user.Id))
                {
                    if (ManagerIds.Count > 0)
                    {
                        OwnerId = ManagerIds.FirstOrDefault();
                        ManagerIds.Remove(OwnerId);
                    }
                    else
                    {
                        OwnerId = MemberIds.FirstOrDefault();
                    }
                }

                MemberIds.Remove(user.Id);
                ManagerIds.Remove(user.Id);

                Api.OnPlayerLeftFaction(this, user);
                return(true);
            }
示例#2
0
        public bool RemovePlayerFromParty(string playerId)
        {
            if (!MemberIdToPit.ContainsKey(playerId))
            {
                return(false);
            }

            if (MemberIdToPit.Count == 1)
            {
                throw new Exception("Cannot remove player if last member of the party");
            }

            MemberIdToPit.Remove(playerId);
            MemberIds.Remove(playerId);

            if (LeaderPlayerId == playerId)
            {
                LeaderPlayerId = MemberIdToPit.ElementAt(0).Key;
            }

            return(true);
        }