Ejemplo n.º 1
0
    //Moves a card from Zone A to Zone B.
    static public void MoveCard(Player p, int cardIndex, CardZone.ZoneType zoneTypeA, CardZone.ZoneType zoneTypeB)
    {
        var zoneA = GetZoneInstanceByEnum(p, zoneTypeA);
        var zoneB = GetZoneInstanceByEnum(p, zoneTypeB);

        zoneB.ZoneCards.Add(zoneA.ZoneCards[cardIndex]);
        zoneA.ZoneCards.RemoveAt(cardIndex);
    }
Ejemplo n.º 2
0
    static public CardZone Create_CardZone(CardZone.ZoneType zoneType, int zoneSize)
    {
        var newCardZone = new CardZone();

        newCardZone.ZoneCards = new List <Card>();
        newCardZone.ZoneSize  = zoneSize;

        return(newCardZone);
    }
Ejemplo n.º 3
0
    //Moves multiple cards from the Top of Zone A to the Top or Bottom of Zone B.
    static public void MoveCardFromTop(Player p, CardZone.ZoneType zoneTypeA, CardZone.ZoneType zoneTypeB, int numberOfTimes, bool moveToBottom)
    {
        var zoneA = GetZoneInstanceByEnum(p, zoneTypeA);
        var zoneB = GetZoneInstanceByEnum(p, zoneTypeB);

        for (var i = 0; i < numberOfTimes; i++)
        {
            if (moveToBottom)
            {
                zoneB.ZoneCards.Add(zoneA.ZoneCards[0]);
            }
            else
            {
                zoneB.ZoneCards.Insert(0, zoneA.ZoneCards[0]);
            }

            zoneA.ZoneCards.RemoveAt(0);
        }
    }
Ejemplo n.º 4
0
 static private CardZone GetZoneInstanceByEnum(Player p, CardZone.ZoneType zoneType)
 {
     return(p.PlayerCardZones.Find(x => x.Type == zoneType));
 }