public void Play() { AP_Civil = Gov.CivilAP + AP_Bonus_Civil; handLimit = AP_Civil; AP_Military = Gov.MilitaryAP; if (MyLeader != null) { MyLeader.PlayEveryTurn(this); } }
public void Play_A_Card(Card card) { //ActionCard if (card.MyClass == CardClass.Action) { (card as ActionCard).Act(this); (card as ActionCard).GoToWaste(this); } //Leader if (card.MyClass == CardClass.Leader) { if (MyLeader != null) { MyLeader.Remove(this); } (card as LeaderCard).PlayOnce(this); MyLeader = (card as LeaderCard); } //UnitCard if (card.GetType().IsSubclassOf(typeof(UnitCard))) { switch (card.MyClass) { case CardClass.Farm: this.AgriCardList.Add(card as AgriCard); break; case CardClass.Mine: this.MineCardList.Add(card as MineCard); break; case CardClass.UrbanBuilding: this.UrbanBuildingCardList.Add(card as UrbanBuildingCard); break; case CardClass.MilitaryTech: this.MiliTechCardList.Add(card as MilitaryTechCard); break; } } //SpecialCard if (card.GetType().IsSubclassOf(typeof(SpecialCard))) { if (card.GetType() == typeof(DirectSpecialCard)) { (card as DirectSpecialCard).Act(this); } else { throw new NotImplementedException(); } } //currentEffect if (IsTechnologyCard(card.MyClass)) { if (TurnEffect.Contains("DaVinci")) { Produce_Amount(1, DataType.Ore); TurnEffect.Remove("DaVinci"); } if (TurnEffect.Contains("Breakthrough")) { Science += 2; TurnEffect.Remove("Breakthrough"); } } }