override public bool IsPossible()
 {
     // TODO: Rework this, it's ugly. We need to separate Governor vs Emperor scenarios.
     if (city.hasAction == false)
     {
         return(false);
     }
     else if (city.allegiance != leader.allegiance && city.allegiance != Allegiance.NONE)
     {
         return(false);
     }
     else if (!city.unitsForSale.Contains(troopClass))
     {
         return(false);
     }
     else if (leader.gold < TroopStats.GetTroopStat(troopClass, Stat.COST))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }