Exemple #1
0
        //输送机(多个)(垂直于高架库方向)
        #region Create_ConveyorGroup2
        public void Create_ConveyorGroup2(ParametersList1 PL, GameObject ConveyorGroup)
        {
            CreateModel.RollerConveyor_Parameter RCP = new CreateModel.RollerConveyor_Parameter();
            RCP.RCHigh       = PL.RCP.RCHigh - 0.1f;
            RCP.RCWidth      = PL.RCP.RCWidth;
            RCP.RCLength     = PL.MHP.HookupDistance + PL.MHP.TunnelWidth + 2 * PL.HP.Size.x - RCP.RCWidth;
            RCP.RollerRadius = PL.RCP.RollerRadius;

            GameObject Conveyor = new GameObject(); Conveyor.name = "Conveyor";

            CreateModel.RollerConveyorType type = CreateModel.RollerConveyorType.Intact;
            CreateModel.RollerConveyor.Create_RollerConveyor(RCP, Conveyor, type);

            for (int i = 0; i < (PL.MHP.Num + 1) / 2; i++)//增加一个出口输送机
            {
                GameObject clone = Instantiate(Conveyor); clone.name = Conveyor.name + (i + 1).ToString();
                clone.transform.parent = ConveyorGroup.transform;
                float TempValue = -PL.HP.Size.x - i * (PL.HP.Size.x * 2 + PL.MHP.HookupDistance + PL.MHP.TunnelWidth);
                clone.transform.localPosition = new Vector3(TempValue, 0, 0);
                clone.transform.Rotate(0, -90, 0);
            }
            DestroyImmediate(Conveyor);
        }
Exemple #2
0
        //创建仓库场景
        #region Create_Scene
        public void Create_Scene(ParametersList1 PL, Varibles.PositionsList POL, string Path)
        {
            CreateModel.HighStoreShelf_Parameter HP  = PL.HP;
            CreateModel.MultiHighBay_Parameter   MHP = PL.MHP;
            CreateModel.RollerConveyor_Parameter RCP = PL.RCP;
            float      TempValue1     = RCP.RCLength;
            float      TempValue2     = RCP.RCWidth;
            float      TempValue3     = TempValue2 - HP.Size.x;
            GameObject WarehouseScene = new GameObject(); WarehouseScene.name = SceneName; //创建场景
                                                                                           //货物
            GameObject Cargos = new GameObject();

            Cargos.name = "Cargos"; Cargos.transform.parent = WarehouseScene.transform;
            Cargos.transform.localPosition = new Vector3(0, 0, 0);
            //添加入口输送机
            GameObject EnterConveyor = new GameObject(); EnterConveyor.name = "EnterConveyor";

            CreateModel.RollerConveyorType       type = CreateModel.RollerConveyorType.Intact;
            CreateModel.RollerConveyor_Parameter RCP2 = new CreateModel.RollerConveyor_Parameter();
            RCP2 = PL.RCP; RCP2.RCHigh = RCP2.RCHigh - 0.1f; RCP2.RCLength = PL.HP.Size.x * 2 + PL.MHP.HookupDistance + PL.MHP.TunnelWidth - RCP2.RCWidth;
            CreateModel.RollerConveyor.Create_RollerConveyor(RCP2, EnterConveyor, type);
            EnterConveyor.transform.parent = WarehouseScene.transform;
            EnterConveyor.transform.Rotate(0, -90, 0);
            EnterConveyor.transform.localPosition = new Vector3((RCP2.RCLength + TempValue3), 0, -TempValue2 / 2);
            //添加顶升移载机设备
            GameObject LiftTransferGroup = new GameObject(); LiftTransferGroup.name = "LiftTransferGroup";

            Create_LiftTransferGroup(PL, LiftTransferGroup);
            //LiftTransferGroup.transform.Rotate(0, 180, 0);
            LiftTransferGroup.transform.parent        = WarehouseScene.transform;
            LiftTransferGroup.transform.localPosition = new Vector3(0, 0, -TempValue2 / 2);
            //添加输送设备(垂直于高架库方向)
            GameObject ConveyorGroup2 = new GameObject(); ConveyorGroup2.name = "ConveyorGroup2";

            Create_ConveyorGroup2(PL, ConveyorGroup2);
            //ConveyorGroup2.transform.Rotate(0, 180, 0);
            ConveyorGroup2.transform.parent        = WarehouseScene.transform;
            ConveyorGroup2.transform.localPosition = new Vector3(0, 0, -TempValue2 / 2);
            //为场景添加输送设备(平行于高架库方向)
            GameObject ConveyorGroup = new GameObject(); ConveyorGroup.name = "ConveyorGroup";

            Create_ConveyorGroup1(PL, ConveyorGroup);
            //ConveyorGroup.transform.Rotate(0, 180, 0);
            ConveyorGroup.transform.parent        = WarehouseScene.transform;
            ConveyorGroup.transform.localPosition = new Vector3(0, 0, -TempValue2);
            //为场景添加高架库设备
            GameObject HighBays1 = new GameObject(); HighBays1.name = "HighBayGroup";

            CreateModel.HighBay2.Create_HighBays(HP, MHP, HighBays1);
            HighBays1.transform.parent        = WarehouseScene.transform;
            HighBays1.transform.localPosition = new Vector3(0, 0, -(3 * TempValue1 + TempValue2));
            //为场景添加堆垛机设备
            GameObject PilerGroup = new GameObject(); PilerGroup.name = "PilerGroup";

            Create_Pilers(PL, PilerGroup);
            //PilerGroup.transform.Rotate(0, 180, 0);
            PilerGroup.transform.parent        = WarehouseScene.transform;
            PilerGroup.transform.localPosition = new Vector3(0, 0, -(TempValue1 + TempValue2));
            //为场景添加出口输送线
            GameObject ExitConveyors = new GameObject();

            ExitConveyors.name = "ExitConveyors";
            int   i         = (PL.MHP.Num + 1) / 2;
            float TempValue = PL.RCP.RCWidth / 2 - ((2 * i + 1) * PL.HP.Size.x + i * PL.MHP.TunnelWidth + i * PL.MHP.HookupDistance);

            Create_ExitConveyors(PL, ExitConveyors);
            ExitConveyors.transform.parent        = WarehouseScene.transform;
            ExitConveyors.transform.localPosition = new Vector3(TempValue, 0, 0);

            ////给场景添加Message
            WarehouseScene.AddComponent <ShowData.ShowKeyPositionData>();
            ShowData.ShowKeyPositionData ShowKeyData = WarehouseScene.GetComponent <ShowData.ShowKeyPositionData>();
            Varibles.KeyPositionsData    KPD         = new Varibles.KeyPositionsData();
            Create_SceneInfo(ref PL, out KPD);
            ShowKeyData.KeyPositionsData = KPD;
            GameObject Cargo = new GameObject(); Cargo.name = "Cargo";

            CreateModel.Cargo1.Create_Cargo(KPD.CargoSize, Cargo);
            Tools.MyClass.CreatePrefab(WarehouseScene, Path);
            Tools.MyClass.CreatePrefab(Cargo, path2 + Cargo.name);

            //根据参数预创建一个存储状态面板
            ControlUnit.UIControl.BinsPanel.Ajustment(MHP.Num, HP.FloorsNum, HP.ColumnsNum);
            ControlUnit.UIControl.BinsPanel.Ajustment2(MHP.Num, HP.FloorsNum, HP.ColumnsNum);
        }