Esempio n. 1
0
        private void DrawAnchorMode()
        {
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Anchors", GUILayout.ExpandWidth(false));
            anchorMode = (AnchorMode)EditorGUILayout.Popup((int)anchorMode, anchorModeOptions);

            EditorGUILayout.EndHorizontal();
        }
Esempio n. 2
0
 private void ToggleCreateMode()
 {
     if (mode_ == AnchorMode.Select)
     {
         mode_ = AnchorMode.Create;
         EndSelectMode();
         StartPlacementMode();
     }
     else
     {
         mode_ = AnchorMode.Select;
         EndPlacementMode();
         StartSelectMode();
     }
 }
        void DrawModeSelection()
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Toggle((mode == AnchorMode.Border), "Border", EditorStyles.miniButtonLeft) &&
                (mode != AnchorMode.Border))
            {
                mode = AnchorMode.Border;
            }

            if (GUILayout.Toggle((mode == AnchorMode.Point), "Point", EditorStyles.miniButtonRight) &&
                (mode != AnchorMode.Point))
            {
                mode = AnchorMode.Point;
            }

            EditorGUILayout.EndHorizontal();
        }
Esempio n. 4
0
        /// <summary>
        ///     アンカーのモードを設定します
        /// </summary>
        /// <param name="mode"></param>
        public void SetAnchorMode(AnchorMode mode)
        {
            OnEnable();
            switch (mode)
            {
            case AnchorMode.BasePoint:
                systemKeyboardInputHelper.gameObject.SetActive(false);
                break;

            case AnchorMode.Destination:
                systemKeyboardInputHelper.gameObject.SetActive(true);
                break;

            case AnchorMode.Point:
                systemKeyboardInputHelper.gameObject.SetActive(false);
                break;
            }
        }
Esempio n. 5
0
        public void ToggleAnchorMode()
        {
            switch (mode)
            {
            case AnchorMode.Callback:
            {
                mode = AnchorMode.PollingCached;

                StartPollingAnchors();

                if (AnchorModeStatusText)
                {
                    AnchorModeStatusText.text = "Polling Cached";
                }
                break;
            }

            case AnchorMode.PollingCached:
            {
                mode = AnchorMode.PollingNative;

                if (AnchorModeStatusText)
                {
                    AnchorModeStatusText.text = "Polling Native";
                }
                break;
            }

            case AnchorMode.PollingNative:
            {
                mode = AnchorMode.Callback;

                StopPollingAnchors();

                if (AnchorModeStatusText)
                {
                    AnchorModeStatusText.text = "Callback";
                }
                break;
            }
            }
        }
Esempio n. 6
0
#pragma warning restore IDE0011 // ReSharper restore EnforceIfStatementBraces

    private static Vector2[] AnchorModeToVector(AnchorMode anchorMode)
    {
        return(anchorMode switch
        {
            AnchorMode.TOP_LEFT => new[] { new Vector2(0, 1), new Vector2(0, 1) },
            AnchorMode.TOP_CENTER => new[] { new Vector2(0.5f, 1), new Vector2(0.5f, 1) },
            AnchorMode.TOP_RIGHT => new[] { new Vector2(1, 1), new Vector2(1, 1) },
            AnchorMode.TOP_STRETCH => new[] { new Vector2(0, 1), new Vector2(1, 1) },
            AnchorMode.MIDDLE_LEFT => new[] { new Vector2(0, 0.5f), new Vector2(0, 0.5f) },
            AnchorMode.MIDDLE_CENTER => new[] { new Vector2(0.5f, 1), new Vector2(0.5f, 0.5f) },
            AnchorMode.MIDDLE_RIGHT => new[] { new Vector2(1, 0.5f), new Vector2(1, 0.5f) },
            AnchorMode.MIDDLE_STRETCH => new[] { new Vector2(0, 0.5f), new Vector2(1, 0.5f) },
            AnchorMode.BOTTOM_LEFT => new[] { new Vector2(0, 0), new Vector2(0, 0) },
            AnchorMode.BOTTOM_CENTER => new[] { new Vector2(0.5f, 0), new Vector2(0.5f, 0) },
            AnchorMode.BOTTOM_RIGHT => new[] { new Vector2(1, 0), new Vector2(1, 0) },
            AnchorMode.BOTTOM_STRETCH => new[] { new Vector2(0, 0), new Vector2(1, 0) },
            AnchorMode.STRETCH_LEFT => new[] { new Vector2(0, 0), new Vector2(0, 1) },
            AnchorMode.STRETCH_CENTER => new[] { new Vector2(0.5f, 0), new Vector2(0.5f, 1) },
            AnchorMode.STRETCH_RIGHT => new[] { new Vector2(1, 0), new Vector2(1, 1) },
            AnchorMode.STRETCH_STRETCH => new[] { new Vector2(0, 0), new Vector2(1, 1) },
            AnchorMode.NONE => throw new ArgumentOutOfRangeException(),
            _ => throw new ArgumentOutOfRangeException()
        });
Esempio n. 7
0
    private static void DrawRectTransform(RectTransform rectTransform)
    {
        using (new GUILayout.VerticalScope())
        {
            //TODO: Implement position display like the Unity editor
            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Local Position", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                rectTransform.localPosition = VectorDrawer.DrawVector3(rectTransform.localPosition, VECTOR_MAX_WIDTH);
            }

            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Local  Rotation", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                rectTransform.localRotation = Quaternion.Euler(VectorDrawer.DrawVector3(rectTransform.localRotation.eulerAngles, VECTOR_MAX_WIDTH));
            }

            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Local  Scale", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                rectTransform.localScale = VectorDrawer.DrawVector3(rectTransform.localScale, VECTOR_MAX_WIDTH);
            }

            GUILayout.Space(20);

            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Size", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                rectTransform.sizeDelta = VectorDrawer.DrawVector2(rectTransform.sizeDelta, VECTOR_MAX_WIDTH);
            }

            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Anchor", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                AnchorMode anchorMode = VectorToAnchorMode(rectTransform.anchorMin, rectTransform.anchorMax);

                if (anchorMode == AnchorMode.NONE)
                {
                    VectorDrawer.DrawVector2(rectTransform.anchorMin, VECTOR_MAX_WIDTH * 0.5f);
                    VectorDrawer.DrawVector2(rectTransform.anchorMax, VECTOR_MAX_WIDTH * 0.5f);
                }
                else
                {
                    anchorMode = NitroxGUILayout.EnumPopup(anchorMode, VECTOR_MAX_WIDTH);

                    // Vector2[] anchorVectors = AnchorModeToVector(anchorMode);
                    // rectTransform.anchorMin = anchorVectors[0];
                    // rectTransform.anchorMax = anchorVectors[1];
                }
            }

            using (new GUILayout.HorizontalScope())
            {
                GUILayout.Label("Pivot", NitroxGUILayout.DrawerLabel, GUILayout.Width(LABEL_WIDTH));
                NitroxGUILayout.Separator();
                rectTransform.pivot = VectorDrawer.DrawVector2(rectTransform.pivot, VECTOR_MAX_WIDTH);
            }
        }
    }