public void EndEdit()
        {
            if (Descriptor != null)
            {
                Descriptor.MemberUniqueName = MemberControl.Text;


                if (ConditionDetails.IsEnabled)
                {
                    ConditionDetails.EndEdit();
                }

                Descriptor.Conditions.Clear();
                foreach (var item in ConditionsList.List)
                {
                    Descriptor.Conditions.Add(item);
                }
                ConditionsList.Refresh();

                EventHandler handler = EditEnd;
                if (handler != null)
                {
                    handler(this, EventArgs.Empty);
                }
            }
        }
Exemplo n.º 2
0
 internal AbstractReformValue(string inname, string indescription, int IDin, ConditionsList condition)
 {
     ID           = IDin;
     name         = inname;
     description  = indescription;
     this.allowed = condition;
 }
Exemplo n.º 3
0
 public IConditionViewModel Clone()
 {
     return(new CompareConditionViewModel(ConditionsList.Select(s => s).ToList())
     {
         SelectedCondition = this.SelectedCondition,
         UshortValueToCompare = _ushortValueToCompare
     });
 }
        public void Initialize(CellConditionsDescriptor descriptor)
        {
            m_Descriptor = descriptor;

            IsEnabled          = Descriptor != null;
            MemberControl.Text = Descriptor != null ? Descriptor.MemberUniqueName : String.Empty;
            ConditionsList.Initialize(Descriptor != null ? Descriptor.Conditions.ToList <CellCondition>() : null);
            ConditionDetails.Initialize((Descriptor != null && Descriptor.Conditions.Count > 0) ? Descriptor.Conditions[0] : null);
        }
        public async void LoadConditions()
        {
            ConditionsList.Clear();
            foreach (string key in LocationWeather.Keys)
            {
                var condition = await RestService.GetCurrentConditions(key);

                LocationWeather[key].WeatherConditions = condition.ElementAt(0);
                ConditionsList.Add(LocationWeather[key]);
            }
            SaveLocations(LocationWeather.Values.ToList());
        }
 private void LoadSettings()
 {
     if (Settings.ContainsKey("locations"))
     {
         var locationsJson = App.Current.Properties["locations"] as string;
         var locations     = JsonConvert.DeserializeObject <List <LocationWeatherInfo> >(locationsJson);
         foreach (LocationWeatherInfo item in locations)
         {
             LocationWeather.Add(item.Location.Key, item);
             ConditionsList.Add(item);
         }
     }
 }
Exemplo n.º 7
0
 internal FactoryType(string iname, Storage ibasicProduction, PrimitiveStorageSet iresourceInput, bool shaft)
 {
     name = iname;
     if (iname == "Gold pit")
     {
         GoldMine = this;
     }
     if (iname == "Furniture factory")
     {
         Furniture = this;
     }
     if (iname == "Metal pit")
     {
         MetalDigging = this;
     }
     if (iname == "Metal smelter")
     {
         MetalSmelter = this;
     }
     allTypes.Add(this);
     basicProduction = ibasicProduction;
     if (iresourceInput == null)
     {
         resourceInput = new PrimitiveStorageSet();
     }
     else
     {
         resourceInput = iresourceInput;
     }
     //upgradeResource.Set(new Storage(Product.Wood, 10f));
     upgradeResource.Set(new Storage(Product.Stone, 10f));
     //internal ConditionsList conditionsBuild;
     enoughMoneyOrResourcesToBuild = new Condition(
         (delegate(Country forWhom)
     {
         if (Economy.isMarket.checkIftrue(forWhom))
         {
             return(forWhom.wallet.canPay(getBuildCost()));
         }
         else
         {
             return(forWhom.storageSet.has(getBuildNeeds()));
         }
     }), "Have enough money or resources to build", true
         );
     conditionsBuild = new ConditionsList(new List <AbstractCondition>()
     {
         Economy.isNotLF, enoughMoneyOrResourcesToBuild
     });                                               // can build
     this.shaft = shaft;
 }
Exemplo n.º 8
0
    internal Factory(Province iprovince, Owner inowner, FactoryType intype)
    { //assuming this is level 0 building
        type           = intype;
        needsToUpgrade = type.getBuildNeeds();
        iprovince.allFactories.Add(this);
        factoryOwner = inowner;
        province     = iprovince;

        gainGoodsThisTurn = new Storage(type.basicProduction.getProduct());
        storageNow        = new Storage(type.basicProduction.getProduct());
        sentToMarket      = new Storage(type.basicProduction.getProduct());

        salary.set(province.getLocalMinSalary());


        modifierHasResourceInProvince = new Modifier(delegate(Country forWhom)
        {
            return(!type.isResourceGathering() && province.isProducingOnFactories(type.resourceInput));
        },
                                                     "Has input resource in thst province", true, 20f);
        modifierLevelBonus = new Modifier(delegate() { return(this.getLevel()); }, "High production concetration bonus", true, 5f);
        modifierInventedMiningAndIsShaft = new Modifier(
            delegate(Country forWhom)
        {
            return(forWhom.isInvented(InventionType.mining) && type.isShaft());
        },
            new StringBuilder("Invented ").Append(InventionType.mining.ToString()).ToString(), false, 50f);
        modifierBelongsToCountry = new Modifier(
            delegate(Country forWhom)
        {
            return(factoryOwner is Country);
        },
            "Belongs to government", false, -20f);

        modifierNotBelongsToCountry = new Condition(
            (Country x) => !(factoryOwner is Country),
            "Doesn't belongs to government", false);
        modifierIsSubsidised = new Modifier((x) => isSubsidized(), "Is subsidized", false, -10f);
        modifierEfficiency   = new ModifiersList(new List <Condition>()
        {
            new Modifier(InventionType.steamPower, true, 25f),
            modifierInventedMiningAndIsShaft,
            new Modifier(Economy.StateCapitalism, true, 10f),
            new Modifier(Economy.Interventionism, true, 30f),
            new Modifier(Economy.LaissezFaire, true, 50f),
            new Modifier(Economy.PlannedEconomy, true, -10f),
            modifierHasResourceInProvince, modifierLevelBonus,
            modifierBelongsToCountry, modifierIsSubsidised
        });

        conditionsUpgrade = new ConditionsList(new List <Condition>()
        {
            new Condition(delegate(Owner forWhom) { return(province.owner.economy.status != Economy.LaissezFaire || forWhom is PopUnit); }, "Economy policy is not Laissez Faire", true),
            new Condition(delegate(Owner forWhom) { return(!isUpgrading()); }, "Not upgrading", false),
            new Condition(delegate(Owner forWhom) { return(!isBuilding()); }, "Not building", false),
            new Condition(delegate(Owner forWhom) { return(isWorking()); }, "Open", false),
            new Condition(delegate(Owner forWhom) { return(level != Game.maxFactoryLevel); }, "Max level not achieved", false),
            new Condition(delegate(Owner forWhom) {
                Value cost = this.getUpgradeCost();
                return(forWhom.wallet.canPay(cost));
            }, delegate() {
                Game.threadDangerSB.Clear();
                Game.threadDangerSB.Append("Have ").Append(getUpgradeCost()).Append(" coins");
                return(Game.threadDangerSB.ToString());
            }, true)
        });

        conditionsClose = new ConditionsList(new List <Condition>()
        {
            new Condition(delegate(Owner forWhom) { return(province.owner.economy.status != Economy.LaissezFaire || forWhom is PopUnit); }, "Economy policy is not Laissez Faire", true),
            new Condition(delegate(Owner forWhom) { return(!isBuilding()); }, "Not building", false),
            new Condition(delegate(Owner forWhom) { return(isWorking()); }, "Open", false),
        });
        conditionsReopen = new ConditionsList(new List <Condition>()
        {
            new Condition(delegate(Owner forWhom) { return(province.owner.economy.status != Economy.LaissezFaire || forWhom is PopUnit); }, "Economy policy is not Laissez Faire", true),
            new Condition(delegate(Owner forWhom) { return(!isBuilding()); }, "Not building", false),
            new Condition(delegate(Owner forWhom) { return(!isWorking()); }, "Close", false),
            new Condition(delegate(Owner forWhom) {
                return(forWhom.wallet.canPay(getReopenCost()));
            }, delegate() {
                Game.threadDangerSB.Clear();
                Game.threadDangerSB.Append("Have ").Append(getReopenCost()).Append(" coins");
                return(Game.threadDangerSB.ToString());
            }, true)
        });
        conditionsDestroy = new ConditionsList(new List <Condition>()
        {
            Economy.isNotLF
        });
        //status == Economy.LaissezFaire || status == Economy.Interventionism || status == Economy.NaturalEconomy
        conditionsSell = ConditionsList.IsNotImplemented; // !Planned and ! State

        //(status == Economy.StateCapitalism || status == Economy.Interventionism || status == Economy.NaturalEconomy)
        conditionsBuy = ConditionsList.IsNotImplemented; // ! LF and !Planned

        // (status == Economy.PlannedEconomy || status == Economy.NaturalEconomy || status == Economy.StateCapitalism)
        conditionsNatinalize = new ConditionsList(new List <Condition>()
        {
            Economy.isNotLF, Economy.isNotInterventionism, modifierNotBelongsToCountry
        }); //!LF and ! Inter


        conditionsSubsidize = new ConditionsList(new List <Condition>()
        {
            Economy.isNotLF, Economy.isNotNatural
        });

        conditionsDontHireOnSubsidies = new ConditionsList(new List <Condition>()
        {
            Economy.isNotLF, Economy.isNotNatural, Condition.IsNotImplemented
        });

        conditionsChangePriority = new ConditionsList(new List <Condition>()
        {
            Economy.isNotLF, Condition.IsNotImplemented
        });
    }
 internal void RemoveLocation(string keyToRemove)
 {
     ConditionsList.Remove(LocationWeather[keyToRemove]);
     LocationWeather.Remove(keyToRemove);
     SaveLocations(LocationWeather.Values.ToList());
 }
 void ConditionDetails_PropertyChanged(object sender, EventArgs e)
 {
     ConditionsList.Refresh();
 }
Exemplo n.º 11
0
 public ReformValue(string inname, string indescription, Procent intarrif, int idin, ConditionsList condition) : base(inname, indescription, idin, condition)
 {
     tax = intarrif;
 }
Exemplo n.º 12
0
 public ReformValue(string inname, string indescription, int idin, ConditionsList condition) : base(inname, indescription, idin, condition)
 {
     PossibleStatuses.Add(this);
 }