Example #1
0
        void Update()
        {
            // DO TO. KEY
            if (Input.GetKeyDown(KeyCode.Delete) && interactionM.isNowSelected)
            {
                RebuildObject("delete");
                ResetChange();
            }
            // DO TO. KEY
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                ResetChange();
            }

            // Если сейчас что-то выделено и на нём висит красный Маркер.
            if (markerObject.activeInHierarchy)
            {
                //if (momentHideMarkerCenter)
                //{
                //    if (Time.time > timeToHideMarker)
                //    {
                //        markerObjectCenter.SetActive(true);
                //        momentHideMarkerCenter = false;
                //    }
                //    else
                //    {
                //        markerObjectCenter.SetActive(false);
                //    }
                //}

                Vector3 transformMarker = markerObject.transform.localPosition;
                inputFieldX.text = transformMarker.x.ToString("0.00");
                inputFieldY.text = transformMarker.y.ToString("0.00");
                inputFieldZ.text = transformMarker.z.ToString("0.00");

                // Если поменяли позиции маркера.
                if (transformMarker != SavePosition)
                {
                    // ОШИБКА ВЫДИЛЕНИЯ! TO DO (Я закоментировал, пока никаких неверностей)
                    // Сбиваем соединение, ибо сместили.
                    //interactionM.isConnection = false;
                    //interactionM.SelectActive(interactionM.startConnectionObject, false);
                    //interactionM.startConnectionObject = null;

                    SavePosition     = transformMarker;
                    positionSelected = SavePosition;
                }

                // DO TO. KEY
                if (Input.GetKeyDown(KeyCode.Return) && interactionM.isNowSelected)
                {
                    UpdateChange();
                }
            }
            // Одноразовое включение заселекченного объекта.
            if (saveSelectName != freeCamera.selectedObject)
            {
                // Установка флага работы select.
                isSelectStage = true;

                saveSelectName = freeCamera.selectedObject;
                if (saveSelectName != null)
                {
                    interactionM.targetObject = structureM.structure[saveSelectName];
                    if (!interactionM.targetObject.Static)
                    {
                        markerObject.transform.position = interactionM.targetObject.GetPosition(0);
                        markerObject.SetActive(true);

                        float scale = interactionM.targetObject.gameObject[0].GetComponent <TooltipText>().sizeSelectMarker;
                        markerObject.transform.localScale = new Vector3(scale, scale, scale);
                    }
                    else
                    {
                        markerObject.transform.localPosition = Vector3.zero;

                        foreach (var part in interactionM.targetObject.gameObject)
                        {
                            part.gameObject.GetComponent <Outline>().enabled = true;
                        }
                    }
                    guiChangeM.OpenInformation();

                    redValue.text     = interactionM.targetObject.color.r.ToString("0.");
                    redSlider.value   = interactionM.targetObject.color.r;
                    greenValue.text   = interactionM.targetObject.color.g.ToString("0.");
                    greenSlider.value = interactionM.targetObject.color.g;
                    blueValue.text    = interactionM.targetObject.color.b.ToString("0.");
                    blueSlider.value  = interactionM.targetObject.color.b;

                    direction.isOn            = interactionM.targetObject.Eo;
                    typeLine.isOn             = interactionM.targetObject.Arc;
                    factorBendingSlider.value = interactionM.targetObject.HeightArc;
                    factorBendingValue.text   = interactionM.targetObject.HeightArc.ToString("0.0");
                    arcAngleSlider.value      = interactionM.targetObject.AngleArc;
                    arcAngleValue.text        = interactionM.targetObject.AngleArc.ToString("0.");

                    modelValue.text                 = interactionM.targetObject.NameModel;
                    scaleModelValue.text            = interactionM.targetObject.ScaleModel.ToString("0.0");
                    sliderScaleModel.value          = interactionM.targetObject.ScaleModel;
                    scaleSelectorMarkerValue.text   = interactionM.targetObject.ScaleSelectMarker.ToString("0.0");
                    sliderScaleSelectorMarker.value = interactionM.targetObject.ScaleSelectMarker;
                }
                else
                {
                    // Если контейнер выбранного объекта пуст, то выключаем маркер.
                    markerObject.SetActive(false);
                }

                Invoke("ClearIgnoreBool", 0.1f);
            }
        }