public Workshop(Manufacture wares, Stratum artisans, Treasury startup = null) : base(artisans) { Production = wares; if (startup is Treasury && startup != null) { Gold = startup.Gold; Food = startup.Food; Fuel = startup.Fuel; SourceMaterials = startup.SourceMaterials; } switch (Production) { case Manufacture.Catridges: Cost = CatridgeCost; ManDailyProgress = CatridgerPerManDay; break; case Manufacture.Weapon: Cost = EquipmentCost; ManDailyProgress = EquipPerManDay; break; case Manufacture.None: default: throw new InvalidCastException("Что производит эта мастерская?"); } }
protected override bool FeasableOutcome(Treasury outcome) { return(Gold < outcome.Gold || Food < outcome.Food || Fuel < outcome.Fuel || WeaponArmor < outcome.WeaponArmor || Catridges < outcome.Catridges); }