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); }
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); }