コード例 #1
0
ファイル: Clan.cs プロジェクト: w3champions/website-backend
        public void KickPlayer(ClanMembership clanMemberShip, string actingPlayer)
        {
            if (ChiefTain != actingPlayer && !Shamans.Contains(actingPlayer))
            {
                throw new ValidationException("Only Chieftain or shamans can kick players");
            }
            if (!Members.Contains(clanMemberShip.BattleTag) && !Shamans.Contains(clanMemberShip.BattleTag))
            {
                throw new ValidationException("Player not in this clan");
            }
            if (clanMemberShip.BattleTag == ChiefTain)
            {
                throw new ValidationException("Can not kick chieftain");
            }

            clanMemberShip.LeaveClan();
            Members.Remove(clanMemberShip.BattleTag);
            Shamans.Remove(clanMemberShip.BattleTag);
        }
コード例 #2
0
ファイル: Clan.cs プロジェクト: w3champions/website-backend
        public void LeaveClan(ClanMembership clanMemberShip)
        {
            if (clanMemberShip.BattleTag == ChiefTain)
            {
                throw new ValidationException("Chieftain can not leave clan, transfer ownership first");
            }
            clanMemberShip.LeaveClan();

            ClanState = ClanState.LeaveClan(clanMemberShip);

            if (!IsSuccesfullyFounded)
            {
                FoundingFathers.Remove(clanMemberShip.BattleTag);
            }
            else
            {
                Members.Remove(clanMemberShip.BattleTag);
            }
        }