예제 #1
0
 void FixedUpdate()
 {
     if (building_object != null && building_config != null)
     {
         building_object.SwitchDisplayState(drop_building_handler[building_config.placing_type](), building_config);
     }
 }
예제 #2
0
        public void OnBeginPress()
        {
            Debug.Log("Drop Building Block");
            LocalPlayer lp = GameFacade.Instance.GetLocalPlayer();

            WorldManager world_mgr = GameFacade.Instance.GetWorldManager();

            Transform parent = world_mgr.FindTransform("BuildingBlocks");

            if (parent != null)
            {
                PlacingBuildingDetector pbd = lp.building_block_params.placing_building_detector;

                //先改变父节点
                BuildingObject      bo  = pbd.building_object;
                BuildingBlockConfig bbi = pbd.building_config;

                if (bo != null && bbi != null)
                {
                    //修改物件的父节点
                    bo.transform.SetParent(parent);

                    //在取消联系。
                    lp.building_block_params.placing_building_detector.DetachDropedBuilding();

                    //改变Shader
                    bo.SwitchDisplayState(EPlaceableObjectState.Normal, bbi);

                    //消耗库存
                    lp.CostSwiftSlotItem();
                }
            }
        }