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("Что производит эта мастерская?");
            }
        }
Example #2
0
 protected override bool FeasableOutcome(Treasury outcome)
 {
     return(Gold < outcome.Gold ||
            Food < outcome.Food ||
            Fuel < outcome.Fuel ||
            WeaponArmor < outcome.WeaponArmor ||
            Catridges < outcome.Catridges);
 }