Пример #1
0
        public void clickAction(objectType type, GameObject gameObj, string ID)
        {
            if (drawGizmo(type, gameObj))
            {
                return;
            }

            currentSelectionID  = ID;
            currentSelectionObj = gameObj;

            if (gameObj.tag != "3DObject" && gameObj.tag != "CameraVan" && gameObj.tag != "Terrain")
            {
                currentSelectionObj.GetComponent <MeshRenderer>().material.color = new Color(0.3f, 0.3f, 1.0f);
            }

            if (previousSelectionID != "" && previousSelectionObj.tag != "3DObject" && previousSelectionObj.tag != "CameraVan" && previousSelectionObj.tag != "Terrain")
            {
                previousSelectionObj.GetComponent <MeshRenderer>().material.color = new Color(1, 1, 1);
            }

            if (currentSelectionObj == previousSelectionObj)
            {
                highwayEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                buildingEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                previousSelectionObj = null;
                previousSelectionID  = "";
                return;
            }


            //fill edit menu
            switch (type)
            {
            case objectType.building:
                buildingEditMenu.SetActive(true);
                ObjectEditMenu.SetActive(false);
                highwayEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                int facadeId = int.Parse(gameObj.name.Substring("facade".Length));
                buildingEdit.fillMenu(ID, facadeId);
                break;

            case objectType.highway:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                highwayEditMenu.SetActive(true);
                CameraVanEditMenu.SetActive(false);
                highwayEdit.fillMenu(ID);
                break;

            case objectType.barrier:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                highwayEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                barrierEditMenu.SetActive(true);
                barrierEdit.fillMenu(ID);
                break;

            case objectType.terrain:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                highwayEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                break;

            case objectType.object3d:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(true);
                highwayEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                objectEdit.fillMenu(gameObj);
                break;

            case objectType.cameraVan:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                highwayEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(true);
                barrierEditMenu.SetActive(false);
                break;

            default:
                buildingEditMenu.SetActive(false);
                ObjectEditMenu.SetActive(false);
                highwayEditMenu.SetActive(false);
                CameraVanEditMenu.SetActive(false);
                barrierEditMenu.SetActive(false);
                break;
            }

            //Update previous selection
            previousSelectionObj = currentSelectionObj;
            previousSelectionID  = currentSelectionID;
        }