public Alcoholx4x3x4x3(string name, List <Component> componentList1, List <Component> componentList2, List <Component> componentList3, List <Component> componentList4) : base(name) { Debug.Assert(componentList1.Count == 4); Debug.Assert(componentList2.Count == 3); Debug.Assert(componentList3.Count == 4); Debug.Assert(componentList4.Count == 3); ComponentList1 = componentList1; ComponentList2 = componentList2; ComponentList3 = componentList3; ComponentList4 = componentList4; Multiplier1 = 3 * 4 * 3; Multiplier2 = 4 * 3; Multiplier3 = 3; List <int> Indexes = DataArchive.GetIndexList(Name, ComponentList1.Count * ComponentList2.Count * ComponentList3.Count * ComponentList4.Count); int EffectIndex = 0; for (int ComponentIndex1 = 0; ComponentIndex1 < ComponentList1.Count; ComponentIndex1++) { for (int ComponentIndex2 = 0; ComponentIndex2 < ComponentList2.Count; ComponentIndex2++) { for (int ComponentIndex3 = 0; ComponentIndex3 < ComponentList3.Count; ComponentIndex3++) { for (int ComponentIndex4 = 0; ComponentIndex4 < ComponentList4.Count; ComponentIndex4++) { EffectIndex = (ComponentIndex1 * Multiplier1) + (ComponentIndex2 * Multiplier2) + (ComponentIndex3 * Multiplier3) + ComponentIndex4; Lines.Add(new Alcoholx4x3x4x3Line(this, Indexes[EffectIndex], ComponentIndex1, ComponentIndex2, ComponentIndex3, ComponentIndex4)); } } } } }
public Alcoholx4x4x2(string name, List <Component> componentList1, List <Component> componentList2, List <Component> componentList3) : base(name) { Debug.Assert(componentList1.Count == 4); Debug.Assert(componentList2.Count == 4); Debug.Assert(componentList3.Count == 2); ComponentList1 = componentList1; ComponentList2 = componentList2; ComponentList3 = componentList3; Multiplier1 = 4 * 2; Multiplier2 = 2; List <int> Indexes = DataArchive.GetIndexList(Name, ComponentList1.Count * ComponentList2.Count * ComponentList3.Count); int EffectIndex = 0; for (int ComponentIndex1 = 0; ComponentIndex1 < ComponentList1.Count; ComponentIndex1++) { for (int ComponentIndex2 = 0; ComponentIndex2 < ComponentList2.Count; ComponentIndex2++) { for (int ComponentIndex3 = 0; ComponentIndex3 < ComponentList3.Count; ComponentIndex3++) { EffectIndex = (ComponentIndex1 * Multiplier1) + (ComponentIndex2 * Multiplier2) + ComponentIndex3; Lines.Add(new Alcoholx4x4x2Line(this, Indexes[EffectIndex], ComponentIndex1, ComponentIndex2, ComponentIndex3)); } } } }
public Alcohol(string name) { Name = name; EffectList = DataArchive.ReadEffectList(name); Previous = None; Next = None; }
public Alcoholx4(string name, List <Component> componentList1) : base(name) { Debug.Assert(componentList1.Count == 4); ComponentList1 = componentList1; List <int> Indexes = DataArchive.GetIndexList(Name, ComponentList1.Count); int EffectIndex = 0; for (int ComponentIndex1 = 0; ComponentIndex1 < ComponentList1.Count; ComponentIndex1++) { EffectIndex = ComponentIndex1; Lines.Add(new Alcoholx4Line(this, Indexes[EffectIndex], ComponentIndex1)); } }