Пример #1
0
        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));
                    }
                }
            }
        }
Пример #2
0
        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));
                        }
                    }
                }
            }
        }
Пример #3
0
        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));
            }
        }