Esempio n. 1
0
        public ComponentNetherBridgeStartPiece(Random par1Random, int par2, int par3) : base(par1Random, par2, par3)
        {
            Field_40034_d = new List <StructureComponent>();
            Field_40035_b = new List <StructureNetherBridgePieceWeight>();
            StructureNetherBridgePieceWeight[] astructurenetherbridgepieceweight = StructureNetherBridgePieces.GetPrimaryComponents();
            int i = astructurenetherbridgepieceweight.Length;

            for (int j = 0; j < i; j++)
            {
                StructureNetherBridgePieceWeight structurenetherbridgepieceweight = astructurenetherbridgepieceweight[j];
                structurenetherbridgepieceweight.Field_40698_c = 0;
                Field_40035_b.Add(structurenetherbridgepieceweight);
            }

            Field_40036_c = new List <StructureNetherBridgePieceWeight>();
            astructurenetherbridgepieceweight = StructureNetherBridgePieces.GetSecondaryComponents();
            i = astructurenetherbridgepieceweight.Length;

            for (int k = 0; k < i; k++)
            {
                StructureNetherBridgePieceWeight structurenetherbridgepieceweight1 = astructurenetherbridgepieceweight[k];
                structurenetherbridgepieceweight1.Field_40698_c = 0;
                Field_40036_c.Add(structurenetherbridgepieceweight1);
            }
        }
        private static ComponentNetherBridgePiece CreateNextComponentRandom(StructureNetherBridgePieceWeight par0StructureNetherBridgePieceWeight, List <StructureComponent> par1List, Random par2Random, int par3, int par4, int par5, int par6, int par7)
        {
            Type   class1 = par0StructureNetherBridgePieceWeight.Field_40699_a;
            object obj    = null;

            if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeStraight)))
            {
                obj = ComponentNetherBridgeStraight.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCrossing3)))
            {
                obj = ComponentNetherBridgeCrossing3.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCrossing)))
            {
                obj = ComponentNetherBridgeCrossing.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeStairs)))
            {
                obj = ComponentNetherBridgeStairs.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeThrone)))
            {
                obj = ComponentNetherBridgeThrone.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeEntrance)))
            {
                obj = ComponentNetherBridgeEntrance.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCorridor5)))
            {
                obj = ComponentNetherBridgeCorridor5.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCorridor2)))
            {
                obj = ComponentNetherBridgeCorridor2.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCorridor)))
            {
                obj = ComponentNetherBridgeCorridor.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCorridor3)))
            {
                obj = ComponentNetherBridgeCorridor3.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCorridor4)))
            {
                obj = ComponentNetherBridgeCorridor4.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeCrossing2)))
            {
                obj = ComponentNetherBridgeCrossing2.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }
            else if (class1 == (typeof(net.minecraft.src.ComponentNetherBridgeNetherStalkRoom)))
            {
                obj = ComponentNetherBridgeNetherStalkRoom.CreateValidComponent(par1List, par2Random, par3, par4, par5, par6, par7);
            }

            return((ComponentNetherBridgePiece)(obj));
        }
Esempio n. 3
0
        private ComponentNetherBridgePiece GetNextComponent(ComponentNetherBridgeStartPiece par1ComponentNetherBridgeStartPiece, List <StructureNetherBridgePieceWeight> par2List, List <StructureComponent> par3List, Random par4Random, int par5, int par6, int par7, int par8, int par9)
        {
            int  var10 = this.GetTotalWeight(par2List);
            bool var11 = var10 > 0 && par9 <= 30;
            int  var12 = 0;

            while (var12 < 5 && var11)
            {
                ++var12;
                int var13 = par4Random.Next(var10);
                IEnumerator <StructureNetherBridgePieceWeight> var14 = par2List.GetEnumerator();

                while (var14.MoveNext())
                {
                    StructureNetherBridgePieceWeight var15 = var14.Current;
                    var13 -= var15.Field_40697_b;

                    if (var13 < 0)
                    {
                        if (!var15.Func_40693_a(par9) || var15 == par1ComponentNetherBridgeStartPiece.Field_40037_a && !var15.Field_40696_e)
                        {
                            break;
                        }

                        ComponentNetherBridgePiece var16 = StructureNetherBridgePieces.CreateNextComponent(var15, par3List, par4Random, par5, par6, par7, par8, par9);

                        if (var16 != null)
                        {
                            ++var15.Field_40698_c;
                            par1ComponentNetherBridgeStartPiece.Field_40037_a = var15;

                            if (!var15.Func_40694_a())
                            {
                                par2List.Remove(var15);
                            }

                            return(var16);
                        }
                    }
                }
            }

            ComponentNetherBridgeEnd var17 = ComponentNetherBridgeEnd.Func_40023_a(par3List, par4Random, par5, par6, par7, par8, par9);

            return(var17);
        }
Esempio n. 4
0
        private int GetTotalWeight(List <StructureNetherBridgePieceWeight> par1List)
        {
            bool flag = false;
            int  i    = 0;

            for (IEnumerator <StructureNetherBridgePieceWeight> iterator = par1List.GetEnumerator(); iterator.MoveNext();)
            {
                StructureNetherBridgePieceWeight structurenetherbridgepieceweight = iterator.Current;

                if (structurenetherbridgepieceweight.Field_40695_d > 0 && structurenetherbridgepieceweight.Field_40698_c < structurenetherbridgepieceweight.Field_40695_d)
                {
                    flag = true;
                }

                i += structurenetherbridgepieceweight.Field_40697_b;
            }

            return(flag ? i : -1);
        }
 public static ComponentNetherBridgePiece CreateNextComponent(StructureNetherBridgePieceWeight par0StructureNetherBridgePieceWeight, List <StructureComponent> par1List, Random par2Random, int par3, int par4, int par5, int par6, int par7)
 {
     return(CreateNextComponentRandom(par0StructureNetherBridgePieceWeight, par1List, par2Random, par3, par4, par5, par6, par7));
 }