Пример #1
0
 public void CounterBlast(int n, CounterBlastDelegate fnc, boolCardFunction f = null)
 {
     _CB_num = n;
     _CB_CheckCard = f;
     if(Game.field.GetNumberOfDamageCardsFaceup() == n && f == null)
     {
         FlipCardInDamageZone(n);
         fnc();
     }
     else
     {
         _CB_Active = true;
         _CB_fnc = fnc;
         EnableMouse("Choose " + _CB_num + " face-up cards from your damage zone.");
     }
 }
Пример #2
0
 public bool CanSoulBlast(int n, boolCardFunction f)
 {
     int count = 0;
     for (int i = 0; i < Game.field.Soul.Count - 1; i++)
     {
         Card tmp = Game.field.Soul[i];
         if (f(tmp))
         {
             count++;
         }
     }
     return count >= n;
 }
Пример #3
0
 public bool CB(int n, boolCardFunction f)
 {
     int count = 0;
     for(int i = 0; i < Game.field.DamageZone.Count; i++)
     {
         Card tmp = Game.field.DamageZone[i];
         if(tmp != null && tmp.IsFaceup() && f(tmp))
         {
             count++;
         }
     }
     return count >= n;
 }
Пример #4
0
 public int NumUnitsInSoul(boolCardFunction f)
 {
     int num = 0;
     for(int i = 0; i < Game.field.Soul.Count - 1; i++)
     {
         if(f == null || f(Game.field.Soul[i]))
         {
             num++;
         }
     }
     return num;
 }
Пример #5
0
 public void SelectInEnemyDamage(int n, bool bEnd, Void0ParamsDelegate fnc, boolCardFunction bcf = null, Void0ParamsDelegate efnc = null)
 {
     _ESID_n = n;
     _ESID_Active = true;
     _ESID_fnc = fnc;
     _ESID_End = bEnd;
     _ESID_Constraint = bcf;
     _ESID_EndFnc = efnc;
     EnableMouse("Choose a card from your opponent's damage zone.");
 }
Пример #6
0
 public int NumUnitsDamage(boolCardFunction f = null)
 {
     int count = 0;
     for(int i = 0; i < Game.field.DamageZone.Count; i++)
     {
         if(f == null || f(Game.field.DamageZone[i]))
         {
             count++;
         }
     }
     return count;
 }
Пример #7
0
 public int NumUnitsInBind(boolCardFunction f)
 {
     int num = 0;
     for(int i = 0; i < Game.field.BindZone.Count; i++)
     {
         if(f == null || f(Game.field.BindZone[i]))
         {
             num++;
         }
     }
     return num;
 }
Пример #8
0
 public int NumGuardians(boolCardFunction fnc = null)
 {
     int count = 0;
     for(int i = 0; i < Game.guardZone.cards.Count; i++)
     {
         if(fnc == null || fnc(Game.guardZone.cards[i]))
         {
             count++;
         }
     }
     return count;
 }
Пример #9
0
 public int NumUnits(boolCardFunction fnc, bool bCountVanguard = false, bool bCountLocked = false)
 {
     int cnt = 0;
     Game.field.InitFieldIterator();
     while(Game.field.HasNextField())
     {
         Card c = Game.field.CurrentFieldCard();
         if(c != null && fnc(c) && (bCountLocked || !c.IsLocked()))
         {
             if(c.IsVanguard())
             {
                 if(bCountVanguard)
                 {
                     cnt++;
                 }
             }
             else
             {
                 cnt++;
             }
         }
     }
     return cnt;
 }
Пример #10
0
 public int NumEnemyUnitsBind(boolCardFunction f = null)
 {
     int count = 0;
     for(int i = 0; i < Game.enemyField.BindZone.Count; i++)
     {
         if(f == null || f(Game.enemyField.BindZone[i]))
         {
             count++;
         }
     }
     return count;
 }
Пример #11
0
 public int NumEnemyUnits(boolCardFunction fnc, bool bCountVanguard = false, bool bCountLockedCards = false)
 {
     int cnt = 0;
     for(int i = 0; i < 6; i++)
     {
         if(EnemyField(i) != null && fnc(EnemyField(i)) && (!bCountLockedCards || EnemyField(i).IsLocked()))
         {
             if(i == 0)
             {
                 if(bCountVanguard)
                 {
                     cnt++;
                 }
             }
             else
             {
                 cnt++;
             }
         }
     }
     return cnt;
 }
Пример #12
0
 public int HandSize(boolCardFunction f)
 {
     int count = 0;
     for(int i = 0; i < HandSize(); i++)
     {
         Card c = Game.playerHand.GetCardAtIndex(i);
         if(c != null && f(c)) count++;
     }
     return count;
 }
Пример #13
0
 int NumRG(boolCardFunction fnc)
 {
     int cnt = 0;
     Game.field.InitFieldIterator();
     while(Game.field.HasNextField())
     {
         Card c = Game.field.CurrentFieldCard();
         if(c != null && !c.IsVanguard() && fnc(c))
         {
             cnt++;
         }
     }
     return cnt;
 }
Пример #14
0
 int NumEnemyRG(boolCardFunction fnc)
 {
     int cnt = 0;
     for(int i = 0; i < 6; i++)
     {
         if(EnemyField(i) != null && fnc(EnemyField(i)))
         {
             cnt++;
         }
     }
     return cnt;
 }