public static IdeologyModifier operator +(IdeologyModifier a, IdeologyModifier b) { var newMod = new IdeologyModifier(); foreach (var pol in Eu4ToVic2.Policies.policyTypes) { newMod.AddModifier(pol, 0); } foreach (var pol in a.Policies) { newMod.AddModifier(pol.Key, pol.Value); } foreach (var pol in b.Policies) { newMod.AddModifier(pol.Key, pol.Value); } return(newMod); }
private void CalcPoliticalParties(Dictionary <string, float> effects, IdeologyModifier baseModifier) { //PoliticalParties = new List<PoliticalParty>(); //IterateIdeaEffects(vic2World, (Dictionary<string, float> effects, byte ideaLevel) => //{ foreach (var policy in Policies.policyTypes) { if (effects.ContainsKey(policy.Name)) { baseModifier.AddModifier(policy, effects[policy.Name]); } } //}); }
private void LoadPoliticalParties() { Console.WriteLine("Loading party ideologies..."); IdeologyModifiers = new Dictionary <Ideology, IdeologyModifier>(); var parties = PdxSublist.ReadFile("political_parties.txt"); foreach (var ideology in (Ideology[])Enum.GetValues(typeof(Ideology))) { var name = Enum.GetName(typeof(Ideology), ideology); if (parties.Sublists.ContainsKey(name)) { var party = new IdeologyModifier(); foreach (var policy in Policies.policyTypes) { if (parties.Sublists[name].FloatValues.ContainsKey(policy.Name)) { party.AddModifier(policy, parties.Sublists[name].FloatValues[policy.Name].Sum()); } } IdeologyModifiers.Add(ideology, party); } } }