Ejemplo n.º 1
0
 public static Vector3 Snap(Vector3 original)
 {
     return(new Vector3(
                PixelPerfect.Snap(original.x),
                PixelPerfect.Snap(original.y),
                PixelPerfect.Snap(original.z)
                ));
 }
Ejemplo n.º 2
0
        private void AllNestedCanvases()
        {
            EditorGUI.BeginChangeCheck();
            pixelPerfect = (PixelPerfect)EditorGUILayout.EnumPopup("Pixel Perfect", pixelPerfect);

            if (EditorGUI.EndChangeCheck())
            {
                if (pixelPerfect == PixelPerfect.Inherit)
                {
                    m_PixelPerfectOverride.boolValue = false;
                }
                else if (pixelPerfect == PixelPerfect.Off)
                {
                    m_PixelPerfectOverride.boolValue = true;
                    m_PixelPerfect.boolValue         = false;
                }
                else
                {
                    m_PixelPerfectOverride.boolValue = true;
                    m_PixelPerfect.boolValue         = true;
                }
            }

            // we need to pass through the property setter to trigger a canvasHierarchyChanged event and so on
            // see case 787195
            EditorGUI.BeginChangeCheck();
            EditorGUILayout.PropertyField(m_OverrideSorting);
            if (EditorGUI.EndChangeCheck())
            {
                ((Canvas)serializedObject.targetObject).overrideSorting = m_OverrideSorting.boolValue;
                m_SortingOverride.target = m_OverrideSorting.boolValue;
            }

            if (EditorGUILayout.BeginFadeGroup(m_SortingOverride.faded))
            {
                GUIContent sortingOrderStyle = null;
                if (m_AllOverlay)
                {
                    sortingOrderStyle = Styles.sortingOrder;
                }
                else if (m_NoneOverlay)
                {
                    sortingOrderStyle = Styles.m_SortingOrderStyle;
                    EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, m_SortingLayerID, EditorStyles.popup);
                }
                if (sortingOrderStyle != null)
                {
                    EditorGUI.BeginChangeCheck();
                    EditorGUILayout.PropertyField(m_SortingOrder, sortingOrderStyle);
                    if (EditorGUI.EndChangeCheck())
                    {
                        ((Canvas)serializedObject.targetObject).sortingOrder = m_SortingOrder.intValue;
                    }
                }
            }
            EditorGUILayout.EndFadeGroup();
        }
Ejemplo n.º 3
0
    void Awake()
    {
        player           = transform.root.GetComponent <CharacterController2D>();
        image            = GetComponent <SpriteRenderer> ();
        playerCollision1 = GetComponent <BoxCollider2D>();
        playerCollision2 = GetComponent <CircleCollider2D>();

        maincamera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <PixelPerfect>();
    }
Ejemplo n.º 4
0
 private void OnEnable()
 {
     this.m_RenderMode           = base.serializedObject.FindProperty("m_RenderMode");
     this.m_Camera               = base.serializedObject.FindProperty("m_Camera");
     this.m_PixelPerfect         = base.serializedObject.FindProperty("m_PixelPerfect");
     this.m_PlaneDistance        = base.serializedObject.FindProperty("m_PlaneDistance");
     this.m_SortingLayerID       = base.serializedObject.FindProperty("m_SortingLayerID");
     this.m_SortingOrder         = base.serializedObject.FindProperty("m_SortingOrder");
     this.m_TargetDisplay        = base.serializedObject.FindProperty("m_TargetDisplay");
     this.m_OverrideSorting      = base.serializedObject.FindProperty("m_OverrideSorting");
     this.m_PixelPerfectOverride = base.serializedObject.FindProperty("m_OverridePixelPerfect");
     this.m_OverlayMode          = new AnimBool(this.m_RenderMode.intValue == 0);
     this.m_OverlayMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_CameraMode = new AnimBool(this.m_RenderMode.intValue == 1);
     this.m_CameraMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_WorldMode = new AnimBool(this.m_RenderMode.intValue == 2);
     this.m_WorldMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_SortingOverride = new AnimBool(this.m_OverrideSorting.boolValue);
     this.m_SortingOverride.valueChanged.AddListener(new UnityAction(this.Repaint));
     if (this.m_PixelPerfectOverride.boolValue)
     {
         this.pixelPerfect = !this.m_PixelPerfect.boolValue ? PixelPerfect.Off : PixelPerfect.On;
     }
     else
     {
         this.pixelPerfect = PixelPerfect.Inherit;
     }
     this.m_AllNested   = true;
     this.m_AllRoot     = true;
     this.m_AllOverlay  = true;
     this.m_NoneOverlay = true;
     for (int i = 0; i < base.targets.Length; i++)
     {
         Canvas canvas = base.targets[i] as Canvas;
         if (canvas.transform.parent == null)
         {
             this.m_AllNested = false;
         }
         else if (canvas.transform.parent.GetComponentInParent <Canvas>() == null)
         {
             this.m_AllNested = false;
         }
         else
         {
             this.m_AllRoot = false;
         }
         if (canvas.renderMode == UnityEngine.RenderMode.ScreenSpaceOverlay)
         {
             this.m_NoneOverlay = false;
         }
         else
         {
             this.m_AllOverlay = false;
         }
     }
 }
Ejemplo n.º 5
0
 private void OnEnable()
 {
     this.m_RenderMode = base.serializedObject.FindProperty("m_RenderMode");
     this.m_Camera = base.serializedObject.FindProperty("m_Camera");
     this.m_PixelPerfect = base.serializedObject.FindProperty("m_PixelPerfect");
     this.m_PlaneDistance = base.serializedObject.FindProperty("m_PlaneDistance");
     this.m_SortingLayerID = base.serializedObject.FindProperty("m_SortingLayerID");
     this.m_SortingOrder = base.serializedObject.FindProperty("m_SortingOrder");
     this.m_TargetDisplay = base.serializedObject.FindProperty("m_TargetDisplay");
     this.m_OverrideSorting = base.serializedObject.FindProperty("m_OverrideSorting");
     this.m_PixelPerfectOverride = base.serializedObject.FindProperty("m_OverridePixelPerfect");
     this.m_OverlayMode = new AnimBool(this.m_RenderMode.intValue == 0);
     this.m_OverlayMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_CameraMode = new AnimBool(this.m_RenderMode.intValue == 1);
     this.m_CameraMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_WorldMode = new AnimBool(this.m_RenderMode.intValue == 2);
     this.m_WorldMode.valueChanged.AddListener(new UnityAction(this.Repaint));
     this.m_SortingOverride = new AnimBool(this.m_OverrideSorting.boolValue);
     this.m_SortingOverride.valueChanged.AddListener(new UnityAction(this.Repaint));
     if (this.m_PixelPerfectOverride.boolValue)
     {
         this.pixelPerfect = !this.m_PixelPerfect.boolValue ? PixelPerfect.Off : PixelPerfect.On;
     }
     else
     {
         this.pixelPerfect = PixelPerfect.Inherit;
     }
     this.m_AllNested = true;
     this.m_AllRoot = true;
     this.m_AllOverlay = true;
     this.m_NoneOverlay = true;
     for (int i = 0; i < base.targets.Length; i++)
     {
         Canvas canvas = base.targets[i] as Canvas;
         if (canvas.transform.parent == null)
         {
             this.m_AllNested = false;
         }
         else if (canvas.transform.parent.GetComponentInParent<Canvas>() == null)
         {
             this.m_AllNested = false;
         }
         else
         {
             this.m_AllRoot = false;
         }
         if (canvas.renderMode == RenderMode.ScreenSpaceOverlay)
         {
             this.m_NoneOverlay = false;
         }
         else
         {
             this.m_AllOverlay = false;
         }
     }
 }
Ejemplo n.º 6
0
 public void AdjustSize()
 {
     if (targetWidth != currentWidth || targetHeight != currentHeight || checkedPixelZoom != pixelScale)
     {
         PixelPerfect.SetPixelPerfect(pixelsPerUnit, pixelScale);
         GetComponent <Camera>().orthographicSize = (float)((targetHeight / (PixelPerfect.pixelsPerUnit * PixelPerfect.pixelScale)) * 0.5d);
         currentWidth     = targetWidth;
         currentHeight    = targetHeight;
         checkedPixelZoom = pixelScale;
     }
 }
Ejemplo n.º 7
0
 Vector2 FitToPixelPerfectGrid(Vector2 vector)
 {
     if (fitType == PixelPerfectFitType.Smooth)
     {
         return(PixelPerfect.FitToGrid(vector, PixelPerfect.worldPixelSize / cameraZoom));
     }
     else
     {
         return(PixelPerfect.FitToGrid(vector, PixelPerfect.worldPixelSize));
     }
 }
Ejemplo n.º 8
0
    public void Update()
    {
        if (spriteRenderer == null)
        {
            spriteRenderer = GetComponent <SpriteRenderer>();
        }
        Vector2 spriteSize = new Vector2(spriteRenderer.sprite.rect.width, spriteRenderer.sprite.rect.height) * PixelPerfect.unitsPerPixel * 0.5f;

        if (zoomsWithCamera && PixelPerfect.pixelScale != 0)
        {
            spriteSize           = spriteSize / (float)PixelPerfect.pixelScale;
            transform.localScale = Vector3.one * 1f / (float)PixelPerfect.pixelScale;
        }
        else
        {
            transform.localScale = Vector3.one;
        }
        Vector2 size = (PixelPerfect.GetMainGameViewSize() * 0.5f) * PixelPerfect.unitsPerPixel / PixelPerfect.pixelScale - spriteSize;
        Vector3 cameraPosition = new Vector3(anchorCamera.transform.position.x, anchorCamera.transform.position.y, 0);
        int     i = 0, j = 0;

        switch (anchorType)
        {
        case AnchorType.UpperLeft:    i = -1; j = 1;  break;

        case AnchorType.UpperMiddle:  i = 0; j = 1;  break;

        case AnchorType.UpperRight:   i = 1; j = 1;  break;

        case AnchorType.MiddleLeft:   i = -1; j = 0;  break;

        case AnchorType.MiddleCenter: i = 0; j = 0;  break;

        case AnchorType.MiddleRight:  i = 1; j = 0;  break;

        case AnchorType.LowerLeft:    i = -1; j = -1; break;

        case AnchorType.LowerCenter:  i = 0; j = -1; break;

        case AnchorType.LowerRight:   i = 1; j = -1; break;
        }
        Vector3 newPos = cameraPosition + Vector3.right * size.x * i + Vector3.up * size.y * j;

        if (Mathf.Abs(newPos.x) < float.MaxValue)
        {
            transform.position = newPos;
            if (!zoomsWithCamera)
            {
                transform.position += (Vector3.up - Vector3.right) * PixelPerfect.pixelOffset * PixelPerfect.unitsPerPixel;
            }
        }
    }
Ejemplo n.º 9
0
        void OnEnable()
        {
            m_RenderMode = serializedObject.FindProperty("m_RenderMode");
            m_Camera = serializedObject.FindProperty("m_Camera");
            m_PixelPerfect = serializedObject.FindProperty("m_PixelPerfect");
            m_PlaneDistance = serializedObject.FindProperty("m_PlaneDistance");

            m_SortingLayerID = serializedObject.FindProperty("m_SortingLayerID");
            m_SortingOrder = serializedObject.FindProperty("m_SortingOrder");
            m_TargetDisplay = serializedObject.FindProperty("m_TargetDisplay");
            m_OverrideSorting = serializedObject.FindProperty("m_OverrideSorting");
            m_PixelPerfectOverride = serializedObject.FindProperty("m_OverridePixelPerfect");
            m_ShaderChannels = serializedObject.FindProperty("m_AdditionalShaderChannelsFlag");

            m_OverlayMode = new AnimBool(m_RenderMode.intValue == 0);
            m_OverlayMode.valueChanged.AddListener(Repaint);

            m_CameraMode = new AnimBool(m_RenderMode.intValue == 1);
            m_CameraMode.valueChanged.AddListener(Repaint);

            m_WorldMode = new AnimBool(m_RenderMode.intValue == 2);
            m_WorldMode.valueChanged.AddListener(Repaint);

            m_SortingOverride = new AnimBool(m_OverrideSorting.boolValue);
            m_SortingOverride.valueChanged.AddListener(Repaint);

            if (m_PixelPerfectOverride.boolValue)
                pixelPerfect = m_PixelPerfect.boolValue ? PixelPerfect.On : PixelPerfect.Off;
            else
                pixelPerfect = PixelPerfect.Inherit;

            m_AllNested = true;
            m_AllRoot = true;
            m_AllOverlay = true;
            m_NoneOverlay = true;

            for (int i = 0; i < targets.Length; i++)
            {
                Canvas canvas = targets[i] as Canvas;

                if (canvas.transform.parent == null || canvas.transform.parent.GetComponentInParent<Canvas>() == null)
                    m_AllNested = false;
                else
                    m_AllRoot = false;

                if (canvas.renderMode == RenderMode.ScreenSpaceOverlay)
                    m_NoneOverlay = false;
                else
                    m_AllOverlay = false;
            }
        }
Ejemplo n.º 10
0
    public void AdjustSize()
    {
        PixelPerfect.SetPixelPerfect(pixelsPerUnit, pixelZoom);
        float targetHeight;

        if (Application.isEditor)
        {
            targetHeight = PixelPerfect.GetMainGameViewSize().y;
        }
        else
        {
            targetHeight = Screen.height;
        }
        camera.orthographicSize = (float)(((double)targetHeight / (double)PixelPerfect.pixelsPerUnit / (double)PixelPerfect.pixelScale) * 0.5d);
    }
Ejemplo n.º 11
0
    void SetPixelPerfectPosition()
    {
        if (name == "Shadow" && transform.parent.tag != "Character")
        {
            if (((int)(transform.parent.position.x * 2)) % 2 != 0)
            {
                transform.localPosition = new Vector3(0.5f, 0.0f, 0.0f);
            }
            else
            {
                transform.localPosition = new Vector3(-0.5f, 0.0f, 0.0f);
            }

            return;
        }

        if (useParentTransform)
        {
            transform.localPosition = Vector3.zero;
        }

        transform.position = new Vector3(transform.position.x, transform.position.y, GetPixelPerfectDepth());

        spriteOrigin = (Vector2)(transform.position) + GetPivotToOrigin();

        fixedSpriteOrigin = PixelPerfect.FitToGrid(spriteOrigin, PixelPerfect.worldPixelSize * pixelCompoundScale);

        if ((int)GetPivotToCenter().x % 2 == 1)
        {
            if (fixedSpriteOrigin.x > 1.0f)
            {
                fixedSpriteOrigin = fixedSpriteOrigin - new Vector2(1.0f, 0);
            }
            else
            {
                fixedSpriteOrigin = fixedSpriteOrigin + new Vector2(1.0f, 0);
            }
        }

        fixedSpriteCenter = fixedSpriteOrigin - GetPivotToOrigin();

        pixelCorrection = fixedSpriteCenter - (Vector2)(transform.position);

        transform.position += (Vector3)pixelCorrection;
    }
        private void AllNestedCanvases()
        {
            EditorGUI.BeginChangeCheck();
            pixelPerfect = (PixelPerfect)EditorGUILayout.EnumPopup("Pixel Perfect", pixelPerfect);

            if (EditorGUI.EndChangeCheck())
            {
                if (pixelPerfect == PixelPerfect.Inherit)
                {
                    m_PixelPerfectOverride.boolValue = false;
                }
                else if (pixelPerfect == PixelPerfect.Off)
                {
                    m_PixelPerfectOverride.boolValue = true;
                    m_PixelPerfect.boolValue         = false;
                }
                else
                {
                    m_PixelPerfectOverride.boolValue = true;
                    m_PixelPerfect.boolValue         = true;
                }
            }

            EditorGUILayout.PropertyField(m_OverrideSorting);
            m_SortingOverride.target = m_OverrideSorting.boolValue;

            if (EditorGUILayout.BeginFadeGroup(m_SortingOverride.faded))
            {
                GUIContent sortingOrderStyle = null;
                if (m_AllOverlay)
                {
                    sortingOrderStyle = Styles.sortingOrder;
                }
                else if (m_NoneOverlay)
                {
                    sortingOrderStyle = Styles.m_SortingOrderStyle;
                    sortingLayerField.Invoke(null, new object[] { Styles.m_SortingLayerStyle, m_SortingLayerID, EditorStyles.popup });
                }
                if (sortingOrderStyle != null)
                {
                    EditorGUILayout.PropertyField(m_SortingOrder, sortingOrderStyle);
                }
            }
            EditorGUILayout.EndFadeGroup();
        }
Ejemplo n.º 13
0
    void SetPixelPerfectPosition()
    {
        if (useParentTransform)
        {
            transform.localPosition = Vector3.zero;
        }

        transform.position = new Vector3(transform.position.x, transform.position.y, GetPixelPerfectDepth());

        spriteOrigin = (Vector2)(transform.position) + GetPivotToOrigin();

        fixedSpriteOrigin = PixelPerfect.FitToGrid(spriteOrigin, PixelPerfect.worldPixelSize * pixelCompoundScale);

        fixedSpriteCenter = fixedSpriteOrigin - GetPivotToOrigin();
        pixelCorrection   = fixedSpriteCenter - (Vector2)(transform.position);

        transform.position += (Vector3)pixelCorrection;
    }
Ejemplo n.º 14
0
    void CtrlCollect()
    {
        if (isJointed)
        {
            return;
        }
        isJointed = IsJointedRoot() || IsJointedOther();
        if (isJointed)
        {
            transform.localPosition = PixelPerfect.Snap(transform.localPosition);
            return;
        }

        transform.position = Vector2.MoveTowards(
            transform.position,
            collectedFrom.transform.position,
            collectedSpeed * Time.deltaTime
            );
    }
Ejemplo n.º 15
0
    public void Update()
    {
        if (zoomsWithCamera && PixelPerfect.pixelScale != 0)
        {
            transform.localScale = Vector3.one / (float)PixelPerfect.pixelScale;
        }
        Vector2 quadSize = new Vector2(transform.localScale.x, transform.localScale.y);
        Vector2 size = (PixelPerfect.GetMainGameViewSize() * 0.5f) * PixelPerfect.unitsPerPixel / PixelPerfect.pixelScale - quadSize / 2;
        Vector3 cameraPosition = new Vector3(anchorCamera.transform.position.x, anchorCamera.transform.position.y, 0);
        int     i = 0, j = 0;

        switch (anchorType)
        {
        case AnchorType.UpperLeft:    i = -1; j = 1;  break;

        case AnchorType.UpperMiddle:  i = 0; j = 1;  break;

        case AnchorType.UpperRight:   i = 1; j = 1;  break;

        case AnchorType.MiddleLeft:   i = -1; j = 0;  break;

        case AnchorType.MiddleCenter: i = 0; j = 0;  break;

        case AnchorType.MiddleRight:  i = 1; j = 0;  break;

        case AnchorType.LowerLeft:    i = -1; j = -1; break;

        case AnchorType.LowerCenter:  i = 0; j = -1; break;

        case AnchorType.LowerRight:   i = 1; j = -1; break;
        }
        Vector3 newPos = cameraPosition + Vector3.right * size.x * i + Vector3.up * size.y * j;

        if (Mathf.Abs(newPos.x) < float.MaxValue)
        {
            transform.position = newPos;
            if (!zoomsWithCamera)
            {
                transform.position += (Vector3.up - Vector3.right) * PixelPerfect.pixelOffset * PixelPerfect.unitsPerPixel;
            }
        }
    }
Ejemplo n.º 16
0
    // Update is called once per frame
    void SoftUpdate(GameObject dispatcher)
    {
        deltaVector = new Vector3(0, 0, 0);
        if (followX)
        {
            deltaVector.x = target.position.x - previousVector.x;
        }
        if (followY)
        {
            deltaVector.y = target.position.y - previousVector.y;
        }
        if (followZ)
        {
            deltaVector.z = target.position.z - previousVector.z;
        }

        Vector3 pixelPerfectVector = new Vector3(PixelPerfect.RoundToNearestPixel((deltaVector.x * relativeSpeed), camera), PixelPerfect.RoundToNearestPixel((deltaVector.y * relativeSpeed), camera), PixelPerfect.RoundToNearestPixel((deltaVector.z * relativeSpeed), camera));

        myTransform.Translate(pixelPerfectVector);

        previousVector = target.position;
    }
Ejemplo n.º 17
0
        private void DoPixelPerfectGUIForNested()
        {
            EditorGUI.BeginChangeCheck();
            pixelPerfect = (PixelPerfect)EditorGUILayout.EnumPopup(Styles.pixelPerfectContent, pixelPerfect);

            if (EditorGUI.EndChangeCheck())
            {
                if (pixelPerfect == PixelPerfect.Inherit)
                {
                    m_PixelPerfectOverride.boolValue = false;
                }
                else
                {
                    m_PixelPerfectOverride.boolValue = true;
                    for (int i = 0; i < targets.Length; i++)
                    {
                        Canvas canvas = targets[i] as Canvas;

                        Undo.RecordObject(canvas, "Set Pixel Perfect");
                        canvas.pixelPerfect = pixelPerfect == PixelPerfect.On;
                    }
                }
            }
        }
Ejemplo n.º 18
0
 public override void OnInspectorGUI()
 {
     base.serializedObject.Update();
     if (this.m_AllRoot)
     {
         EditorGUILayout.PropertyField(this.m_RenderMode, new GUILayoutOption[0]);
         this.m_OverlayMode.target = this.m_RenderMode.intValue == 0;
         this.m_CameraMode.target = this.m_RenderMode.intValue == 1;
         this.m_WorldMode.target = this.m_RenderMode.intValue == 2;
         EditorGUI.indentLevel++;
         if (EditorGUILayout.BeginFadeGroup(this.m_OverlayMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.sortingOrder, new GUILayoutOption[0]);
             GUIContent[] displayNames = DisplayUtility.GetDisplayNames();
             EditorGUILayout.IntPopup(this.m_TargetDisplay, displayNames, DisplayUtility.GetDisplayIndices(), Styles.targetDisplay, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_CameraMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_Camera, Styles.renderCamera, new GUILayoutOption[0]);
             if (this.m_Camera.objectReferenceValue != null)
             {
                 EditorGUILayout.PropertyField(this.m_PlaneDistance, new GUILayoutOption[0]);
             }
             EditorGUILayout.Space();
             if (this.m_Camera.objectReferenceValue != null)
             {
                 EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup, EditorStyles.label);
             }
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
             if (this.m_Camera.objectReferenceValue == null)
             {
                 EditorGUILayout.HelpBox("Screen Space - A canvas with no specified camera acts like a Overlay Canvas. Please assign a camera to it in the 'Render Camera' field.", MessageType.Warning);
             }
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_WorldMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_Camera, Styles.eventCamera, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         EditorGUI.indentLevel--;
     }
     else if (this.m_AllNested)
     {
         EditorGUI.BeginChangeCheck();
         this.pixelPerfect = (PixelPerfect) EditorGUILayout.EnumPopup("Pixel Perfect", this.pixelPerfect, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             if (this.pixelPerfect == PixelPerfect.Inherit)
             {
                 this.m_PixelPerfectOverride.boolValue = false;
             }
             else if (this.pixelPerfect == PixelPerfect.Off)
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue = false;
             }
             else
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue = true;
             }
         }
         EditorGUI.BeginChangeCheck();
         EditorGUILayout.PropertyField(this.m_OverrideSorting, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             ((Canvas) base.serializedObject.targetObject).overrideSorting = this.m_OverrideSorting.boolValue;
             this.m_SortingOverride.target = this.m_OverrideSorting.boolValue;
         }
         if (EditorGUILayout.BeginFadeGroup(this.m_SortingOverride.faded))
         {
             GUIContent label = null;
             if (this.m_AllOverlay)
             {
                 label = Styles.sortingOrder;
             }
             else if (this.m_NoneOverlay)
             {
                 label = Styles.m_SortingOrderStyle;
                 EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             }
             if (label != null)
             {
                 EditorGUI.BeginChangeCheck();
                 EditorGUILayout.PropertyField(this.m_SortingOrder, label, new GUILayoutOption[0]);
                 if (EditorGUI.EndChangeCheck())
                 {
                     ((Canvas) base.serializedObject.targetObject).sortingOrder = this.m_SortingOrder.intValue;
                 }
             }
         }
         EditorGUILayout.EndFadeGroup();
     }
     else
     {
         GUILayout.Label(Styles.s_RootAndNestedMessage, EditorStyles.helpBox, new GUILayoutOption[0]);
     }
     base.serializedObject.ApplyModifiedProperties();
 }
Ejemplo n.º 19
0
    private float snap       = 0F;    //Distancia de división del grid

    void Awake()
    {
        instance = this;
        Zoom(1F);
    }
Ejemplo n.º 20
0
 public override void OnInspectorGUI()
 {
     base.serializedObject.Update();
     if (this.m_AllRoot)
     {
         EditorGUILayout.PropertyField(this.m_RenderMode, new GUILayoutOption[0]);
         this.m_OverlayMode.target = this.m_RenderMode.intValue == 0;
         this.m_CameraMode.target  = this.m_RenderMode.intValue == 1;
         this.m_WorldMode.target   = this.m_RenderMode.intValue == 2;
         EditorGUI.indentLevel++;
         if (EditorGUILayout.BeginFadeGroup(this.m_OverlayMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.sortingOrder, new GUILayoutOption[0]);
             GUIContent[] displayNames = DisplayUtility.GetDisplayNames();
             EditorGUILayout.IntPopup(this.m_TargetDisplay, displayNames, DisplayUtility.GetDisplayIndices(), Styles.targetDisplay, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_CameraMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_Camera, Styles.renderCamera, new GUILayoutOption[0]);
             if (this.m_Camera.objectReferenceValue != null)
             {
                 EditorGUILayout.PropertyField(this.m_PlaneDistance, new GUILayoutOption[0]);
             }
             EditorGUILayout.Space();
             if (this.m_Camera.objectReferenceValue != null)
             {
                 EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup, EditorStyles.label);
             }
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
             if (this.m_Camera.objectReferenceValue == null)
             {
                 EditorGUILayout.HelpBox("Screen Space - A canvas with no specified camera acts like a Overlay Canvas. Please assign a camera to it in the 'Render Camera' field.", MessageType.Warning);
             }
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_WorldMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_Camera, Styles.eventCamera, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             EditorGUILayout.PropertyField(this.m_SortingOrder, Styles.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         EditorGUI.indentLevel--;
     }
     else if (this.m_AllNested)
     {
         EditorGUI.BeginChangeCheck();
         this.pixelPerfect = (PixelPerfect)EditorGUILayout.EnumPopup("Pixel Perfect", this.pixelPerfect, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             if (this.pixelPerfect == PixelPerfect.Inherit)
             {
                 this.m_PixelPerfectOverride.boolValue = false;
             }
             else if (this.pixelPerfect == PixelPerfect.Off)
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue         = false;
             }
             else
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue         = true;
             }
         }
         EditorGUI.BeginChangeCheck();
         EditorGUILayout.PropertyField(this.m_OverrideSorting, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             ((Canvas)base.serializedObject.targetObject).overrideSorting = this.m_OverrideSorting.boolValue;
             this.m_SortingOverride.target = this.m_OverrideSorting.boolValue;
         }
         if (EditorGUILayout.BeginFadeGroup(this.m_SortingOverride.faded))
         {
             GUIContent label = null;
             if (this.m_AllOverlay)
             {
                 label = Styles.sortingOrder;
             }
             else if (this.m_NoneOverlay)
             {
                 label = Styles.m_SortingOrderStyle;
                 EditorGUILayout.SortingLayerField(Styles.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             }
             if (label != null)
             {
                 EditorGUI.BeginChangeCheck();
                 EditorGUILayout.PropertyField(this.m_SortingOrder, label, new GUILayoutOption[0]);
                 if (EditorGUI.EndChangeCheck())
                 {
                     ((Canvas)base.serializedObject.targetObject).sortingOrder = this.m_SortingOrder.intValue;
                 }
             }
         }
         EditorGUILayout.EndFadeGroup();
     }
     else
     {
         GUILayout.Label(Styles.s_RootAndNestedMessage, EditorStyles.helpBox, new GUILayoutOption[0]);
     }
     base.serializedObject.ApplyModifiedProperties();
 }
Ejemplo n.º 21
0
 public override void OnInspectorGUI()
 {
     base.serializedObject.Update();
     if (this.m_AllRoot)
     {
         EditorGUILayout.PropertyField(this.m_RenderMode, new GUILayoutOption[0]);
         this.m_OverlayMode.target = this.m_RenderMode.intValue == 0;
         this.m_CameraMode.target  = this.m_RenderMode.intValue == 1;
         this.m_WorldMode.target   = this.m_RenderMode.intValue == 2;
         EditorGUI.indentLevel++;
         if (EditorGUILayout.BeginFadeGroup(this.m_OverlayMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.sortingOrder, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_CameraMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_Camera, this.renderCamera, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_PlaneDistance, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup, EditorStyles.label);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_WorldMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_Camera, this.eventCamera, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         EditorGUI.indentLevel--;
     }
     else if (this.m_AllNested)
     {
         EditorGUI.BeginChangeCheck();
         this.pixelPerfect = (PixelPerfect)EditorGUILayout.EnumPopup("Pixel Perfect", this.pixelPerfect, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             if (this.pixelPerfect == PixelPerfect.Inherit)
             {
                 this.m_PixelPerfectOverride.boolValue = false;
             }
             else if (this.pixelPerfect == PixelPerfect.Off)
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue         = false;
             }
             else
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue         = true;
             }
         }
         EditorGUILayout.PropertyField(this.m_OverrideSorting, new GUILayoutOption[0]);
         this.m_SortingOverride.target = this.m_OverrideSorting.boolValue;
         if (EditorGUILayout.BeginFadeGroup(this.m_SortingOverride.faded))
         {
             if (this.m_AllOverlay)
             {
                 EditorGUILayout.PropertyField(this.m_SortingOrder, this.sortingOrder, new GUILayoutOption[0]);
             }
             else if (this.m_NoneOverlay)
             {
                 EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
                 EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
             }
         }
         EditorGUILayout.EndFadeGroup();
     }
     else
     {
         GUILayout.Label(s_RootAndNestedMessage, EditorStyles.helpBox, new GUILayoutOption[0]);
     }
     base.serializedObject.ApplyModifiedProperties();
 }
        void OnEnable()
        {
            sortingLayerField = typeof(EditorGUILayout).GetMethod("SortingLayerField", BindingFlags.Static | BindingFlags.NonPublic, null, CallingConventions.Standard, new System.Type[] { typeof(GUIContent), typeof(SerializedProperty), typeof(GUIStyle) }, null);
            System.Type canvasEditorType = typeof(TransformUtils).Assembly.GetType("UnityEditor.DisplayUtility");
            if (canvasEditorType != null)
            {
                getDisplayNames   = canvasEditorType.GetMethod("GetDisplayNames", BindingFlags.Static | BindingFlags.Public);
                getDisplayIndices = canvasEditorType.GetMethod("GetDisplayIndices", BindingFlags.Static | BindingFlags.Public);
            }

            m_RenderMode    = serializedObject.FindProperty("m_RenderMode");
            m_Camera        = serializedObject.FindProperty("m_Camera");
            m_PixelPerfect  = serializedObject.FindProperty("m_PixelPerfect");
            m_PlaneDistance = serializedObject.FindProperty("m_PlaneDistance");

            m_SortingLayerID       = serializedObject.FindProperty("m_SortingLayerID");
            m_SortingOrder         = serializedObject.FindProperty("m_SortingOrder");
            m_TargetDisplay        = serializedObject.FindProperty("m_TargetDisplay");
            m_OverrideSorting      = serializedObject.FindProperty("m_OverrideSorting");
            m_PixelPerfectOverride = serializedObject.FindProperty("m_OverridePixelPerfect");
            m_ShaderChannels       = serializedObject.FindProperty("m_AdditionalShaderChannelsFlag");

            m_OverlayMode = new AnimBool(m_RenderMode.intValue == 0);
            m_OverlayMode.valueChanged.AddListener(Repaint);

            m_CameraMode = new AnimBool(m_RenderMode.intValue == 1);
            m_CameraMode.valueChanged.AddListener(Repaint);

            m_WorldMode = new AnimBool(m_RenderMode.intValue == 2);
            m_WorldMode.valueChanged.AddListener(Repaint);

            m_SortingOverride = new AnimBool(m_OverrideSorting.boolValue);
            m_SortingOverride.valueChanged.AddListener(Repaint);

            if (m_PixelPerfectOverride.boolValue)
            {
                pixelPerfect = m_PixelPerfect.boolValue ? PixelPerfect.On : PixelPerfect.Off;
            }
            else
            {
                pixelPerfect = PixelPerfect.Inherit;
            }

            m_AllNested   = true;
            m_AllRoot     = true;
            m_AllOverlay  = true;
            m_NoneOverlay = true;

            for (int i = 0; i < targets.Length; i++)
            {
                Canvas canvas = targets[i] as Canvas;

                if (canvas.transform.parent == null || canvas.transform.parent.GetComponentInParent <Canvas>() == null)
                {
                    m_AllNested = false;
                }
                else
                {
                    m_AllRoot = false;
                }

                if (canvas.renderMode == RenderMode.ScreenSpaceOverlay)
                {
                    m_NoneOverlay = false;
                }
                else
                {
                    m_AllOverlay = false;
                }
            }
        }
Ejemplo n.º 23
0
 public override void OnInspectorGUI()
 {
     base.serializedObject.Update();
     if (this.m_AllRoot)
     {
         EditorGUILayout.PropertyField(this.m_RenderMode, new GUILayoutOption[0]);
         this.m_OverlayMode.target = this.m_RenderMode.intValue == 0;
         this.m_CameraMode.target = this.m_RenderMode.intValue == 1;
         this.m_WorldMode.target = this.m_RenderMode.intValue == 2;
         EditorGUI.indentLevel++;
         if (EditorGUILayout.BeginFadeGroup(this.m_OverlayMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.sortingOrder, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_CameraMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_PixelPerfect, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_Camera, this.renderCamera, new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.m_PlaneDistance, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup, EditorStyles.label);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         if (EditorGUILayout.BeginFadeGroup(this.m_WorldMode.faded))
         {
             EditorGUILayout.PropertyField(this.m_Camera, this.eventCamera, new GUILayoutOption[0]);
             EditorGUILayout.Space();
             EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
             EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
         }
         EditorGUILayout.EndFadeGroup();
         EditorGUI.indentLevel--;
     }
     else if (this.m_AllNested)
     {
         EditorGUI.BeginChangeCheck();
         this.pixelPerfect = (PixelPerfect) EditorGUILayout.EnumPopup("Pixel Perfect", this.pixelPerfect, new GUILayoutOption[0]);
         if (EditorGUI.EndChangeCheck())
         {
             if (this.pixelPerfect == PixelPerfect.Inherit)
             {
                 this.m_PixelPerfectOverride.boolValue = false;
             }
             else if (this.pixelPerfect == PixelPerfect.Off)
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue = false;
             }
             else
             {
                 this.m_PixelPerfectOverride.boolValue = true;
                 this.m_PixelPerfect.boolValue = true;
             }
         }
         EditorGUILayout.PropertyField(this.m_OverrideSorting, new GUILayoutOption[0]);
         this.m_SortingOverride.target = this.m_OverrideSorting.boolValue;
         if (EditorGUILayout.BeginFadeGroup(this.m_SortingOverride.faded))
         {
             if (this.m_AllOverlay)
             {
                 EditorGUILayout.PropertyField(this.m_SortingOrder, this.sortingOrder, new GUILayoutOption[0]);
             }
             else if (this.m_NoneOverlay)
             {
                 EditorGUILayout.SortingLayerField(this.m_SortingLayerStyle, this.m_SortingLayerID, EditorStyles.popup);
                 EditorGUILayout.PropertyField(this.m_SortingOrder, this.m_SortingOrderStyle, new GUILayoutOption[0]);
             }
         }
         EditorGUILayout.EndFadeGroup();
     }
     else
     {
         GUILayout.Label(s_RootAndNestedMessage, EditorStyles.helpBox, new GUILayoutOption[0]);
     }
     base.serializedObject.ApplyModifiedProperties();
 }
Ejemplo n.º 24
0
        void OnEnable()
        {
            m_RenderMode    = serializedObject.FindProperty("m_RenderMode");
            m_Camera        = serializedObject.FindProperty("m_Camera");
            m_PixelPerfect  = serializedObject.FindProperty("m_PixelPerfect");
            m_PlaneDistance = serializedObject.FindProperty("m_PlaneDistance");

            m_SortingLayerID                   = serializedObject.FindProperty("m_SortingLayerID");
            m_SortingOrder                     = serializedObject.FindProperty("m_SortingOrder");
            m_TargetDisplay                    = serializedObject.FindProperty("m_TargetDisplay");
            m_OverrideSorting                  = serializedObject.FindProperty("m_OverrideSorting");
            m_PixelPerfectOverride             = serializedObject.FindProperty("m_OverridePixelPerfect");
            m_ShaderChannels                   = serializedObject.FindProperty("m_AdditionalShaderChannelsFlag");
            m_UpdateRectTransformForStandalone = serializedObject.FindProperty("m_UpdateRectTransformForStandalone");

            m_OverlayMode = new AnimBool(m_RenderMode.intValue == 0);
            m_OverlayMode.valueChanged.AddListener(Repaint);

            m_CameraMode = new AnimBool(m_RenderMode.intValue == 1);
            m_CameraMode.valueChanged.AddListener(Repaint);

            m_WorldMode = new AnimBool(m_RenderMode.intValue == 2);
            m_WorldMode.valueChanged.AddListener(Repaint);

            m_SortingOverride = new AnimBool(m_OverrideSorting.boolValue);
            m_SortingOverride.valueChanged.AddListener(Repaint);

            if (m_PixelPerfectOverride.boolValue)
            {
                pixelPerfect = m_PixelPerfect.boolValue ? PixelPerfect.On : PixelPerfect.Off;
            }
            else
            {
                pixelPerfect = PixelPerfect.Inherit;
            }

            m_AllNested   = true;
            m_AllRoot     = true;
            m_AllOverlay  = true;
            m_NoneOverlay = true;

            for (int i = 0; i < targets.Length; i++)
            {
                Canvas   canvas       = targets[i] as Canvas;
                Canvas[] parentCanvas = canvas.transform.parent != null?canvas.transform.parent.GetComponentsInParent <Canvas>(true) : null;

                if (canvas.transform.parent == null || (parentCanvas != null && parentCanvas.Length == 0))
                {
                    m_AllNested = false;
                }
                else
                {
                    m_AllRoot = false;
                }

                RenderMode renderMode = canvas.renderMode;

                if (parentCanvas != null && parentCanvas.Length > 0)
                {
                    renderMode = parentCanvas[parentCanvas.Length - 1].renderMode;
                }

                if (renderMode == RenderMode.ScreenSpaceOverlay)
                {
                    m_NoneOverlay = false;
                }
                else
                {
                    m_AllOverlay = false;
                }
            }
        }