public override void OnInspectorGUI()
    {
        tk2dUIMask mask = (tk2dUIMask)target;

        DrawDefaultInspector();

#if !(UNITY_3_5 || UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_5)
        Renderer renderer = mask.renderer;
        GUILayout.Space(8);
        if (renderer != null)
        {
            string sortingLayerName = tk2dEditorUtility.SortingLayerNamePopup("Sorting Layer", renderer.sortingLayerName);
            if (sortingLayerName != renderer.sortingLayerName)
            {
                tk2dUndo.RecordObject(renderer, "Sorting Layer");
                renderer.sortingLayerName = sortingLayerName;
            }

            int sortingOrder = EditorGUILayout.IntField("Order In Layer", renderer.sortingOrder);
            if (sortingOrder != renderer.sortingOrder)
            {
                tk2dUndo.RecordObject(renderer, "Order In Layer");
                renderer.sortingOrder = sortingOrder;
            }
        }
#endif

        if (GUI.changed)
        {
            mask.Build();
        }
    }
    /// <summary>
    /// 传入进度比例(0到1)设置进度条长度
    /// </summary>
    /// <param name="proportion">Proportion.</param>
    public void SetProgress(float proportion)
    {
        float temp = width * Mathf.Clamp01(proportion);

        ProgressMask.size = new Vector2(width - temp, ProgressMask.size.y);
        ProgressMask.Build();
    }
Exemple #3
0
    public override void OnInspectorGUI()
    {
        tk2dUIMask mask = (tk2dUIMask)target;

        DrawDefaultInspector();
        if (GUI.changed)
        {
            mask.Build();
        }
    }
Exemple #4
0
    static public void RecalculateMask(tk2dUIMask mask, SizeFactor factorType, RoundFloatEnum roundPreference)
    {
        if (mask == null)
        {
            return;
        }

        mask.size = RecalculateByFactor(mask.size, factorType);
        mask.size = RoundVector2(mask.size, roundPreference);
        mask.Build();
    }
Exemple #5
0
    public void OnSceneGUI()
    {
        if (tk2dPreferences.inst.enableSpriteHandles == false)
        {
            return;
        }

        tk2dUIMask mask         = (tk2dUIMask)target;
        Transform  t            = mask.transform;
        Vector3    anchorOffset = tk2dSceneHelper.GetAnchorOffset(mask.size, mask.anchor);
        Rect       localRect    = new Rect(anchorOffset.x, anchorOffset.y, mask.size.x, mask.size.y);

        // Draw rect outline
        Handles.color = new Color(1, 1, 1, 0.5f);
        tk2dSceneHelper.DrawRect(localRect, t);

        Handles.BeginGUI();
        // Resize handles
        if (tk2dSceneHelper.RectControlsToggle())
        {
            EditorGUI.BeginChangeCheck();
            Rect resizeRect = tk2dSceneHelper.RectControl(999888, localRect, t);
            if (EditorGUI.EndChangeCheck())
            {
                Vector2 newDim = new Vector2(resizeRect.width, resizeRect.height);
                newDim.x = Mathf.Abs(newDim.x);
                newDim.y = Mathf.Abs(newDim.y);
                Undo.RegisterUndo(new Object[] { t, mask }, "Resize");
                if (newDim != mask.size)
                {
                    mask.size = newDim;
                    mask.Build();
                    Vector2 newAnchorOffset = tk2dSceneHelper.GetAnchorOffset(new Vector2(resizeRect.width, resizeRect.height), mask.anchor);
                    Vector3 toNewAnchorPos  = new Vector3(resizeRect.xMin - newAnchorOffset.x, resizeRect.yMin - newAnchorOffset.y, 0);
                    Vector3 newPosition     = t.TransformPoint(toNewAnchorPos);
                    if (newPosition != t.position)
                    {
                        t.position = newPosition;
                    }

                    EditorUtility.SetDirty(mask);
                }
            }
        }
        // Rotate handles
        if (!tk2dSceneHelper.RectControlsToggle())
        {
            EditorGUI.BeginChangeCheck();
            float theta = tk2dSceneHelper.RectRotateControl(888999, localRect, t, new List <int>());
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RegisterUndo(t, "Rotate");
                if (Mathf.Abs(theta) > Mathf.Epsilon)
                {
                    t.Rotate(t.forward, theta);
                }
            }
        }
        Handles.EndGUI();

        // Sprite selecting
        tk2dSceneHelper.HandleSelectSprites();

        // Move targeted sprites
        tk2dSceneHelper.HandleMoveSprites(t, localRect);
    }