コード例 #1
0
        public override ClanState AcceptInvite(ClanMembership membership)
        {
            FoundingFathers.Add(membership.BattleTag);

            if (FoundingFathers.Count >= 7)
            {
                return(new FoundedClan(FoundingFathers, ChiefTain));
            }

            return(this);
        }
コード例 #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);
            }
        }
コード例 #3
0
ファイル: Clan.cs プロジェクト: w3champions/website-backend
        public void Invite(ClanMembership clanMemberShip, string personWhoInvitesBattleTag)
        {
            if (ChiefTain != personWhoInvitesBattleTag && !Shamans.Contains(personWhoInvitesBattleTag))
            {
                throw new ValidationException("Only chieftains and shamans can invite");
            }
            if (PendingInvites.Contains(clanMemberShip.BattleTag))
            {
                throw new ValidationException("Can not invite player twice");
            }
            if (Members.Contains(clanMemberShip.BattleTag))
            {
                throw new ValidationException("Can not invite player twice");
            }
            if (FoundingFathers.Contains(clanMemberShip.BattleTag))
            {
                throw new ValidationException("Can not invite player twice");
            }

            clanMemberShip.Invite(this);

            PendingInvites.Add(clanMemberShip.BattleTag);
        }
コード例 #4
0
 public override ClanState LeaveClan(ClanMembership clanMemberShip)
 {
     FoundingFathers.Remove(clanMemberShip.BattleTag);
     return(this);
 }