コード例 #1
0
ファイル: MatchObserver.cs プロジェクト: reparadocs/Clash
 public void OnNotify(NotificationType type, Card card, ZoneType zone, Player player)
 {
     foreach (Player p in match.Players)
     {
         foreach (Card c in p.Zones.GetCardsInPlay())
         {
             switch (type)
             {
                 case NotificationType.EnterZone:
                     c.OnCardEnter(zone, card, player);
                     break;
                 case NotificationType.ExitZone:
                     c.OnCardExit(zone, card, player);
                     break;
                 case NotificationType.BeginTurn:
                     c.OnBeginTurn(player);
                     break;
                 case NotificationType.EndTurn:
                     c.OnEndTurn(player);
                     for (int i = 0; i < Global.NumPlayers; i++)
                     {
                         if(!match.Players[i].Equals(player))
                         {
                             match.Players[i].BeginTurn();
                         }
                     }
                     break;
             }
         }
     }
 }
コード例 #2
0
ファイル: Device.cs プロジェクト: reparadocs/Clash
 public void OnAttach(Card card)
 {
     DeviceEffect();
     this.Attached = card;
 }
コード例 #3
0
ファイル: OpponentZones.cs プロジェクト: reparadocs/Clash
 public override void PlayFromHand(Card card, int clientId)
 {
     throw new NotImplementedException();
 }
コード例 #4
0
ファイル: OpponentZones.cs プロジェクト: reparadocs/Clash
 public void AddCardToPlay(Card card)
 {
     Add(ZoneType.Play, card);
 }
コード例 #5
0
ファイル: OpponentZones.cs プロジェクト: reparadocs/Clash
 public OpponentZones()
     : base(new List<ZoneType> { ZoneType.Play, ZoneType.Graveyard })
 {
     mockCard = new Fastlane(null);
 }
コード例 #6
0
ファイル: Zones.cs プロジェクト: reparadocs/Clash
 protected void Transfer(ZoneType currentZone, ZoneType newZone, Card card)
 {
     ZoneDict[currentZone].Remove(card);
     card.OnExit(currentZone);
     Add(newZone, card);
 }
コード例 #7
0
ファイル: Zones.cs プロジェクト: reparadocs/Clash
 protected void Add(ZoneType zone, Card card)
 {
     card.Zone = zone;
     ZoneDict[zone].Add(card);
     card.OnEnter(zone);
 }
コード例 #8
0
ファイル: Zones.cs プロジェクト: reparadocs/Clash
 public virtual void PlayFromHand(Card card, int clientId)
 {
     Transfer(ZoneType.Hand, ZoneType.Play, card);
 }
コード例 #9
0
ファイル: Zones.cs プロジェクト: reparadocs/Clash
 public virtual void GraveyardFromPlay(Card card)
 {
     Transfer(ZoneType.Play, ZoneType.Graveyard, card);
 }
コード例 #10
0
ファイル: Card.cs プロジェクト: reparadocs/Clash
 public virtual void OnCardExit(ZoneType zone, Card card, Player player)
 {
 }
コード例 #11
0
ファイル: ServerZones.cs プロジェクト: reparadocs/Clash
 public override void PlayFromHand(Card card, int clientId)
 {
     base.PlayFromHand(card, clientId);
     listener.SendSerializableToClient(new CardSerializer(card.Name, CardActions.Play), GetOtherClientId(clientId));
 }