示例#1
0
        protected void DrawDefaultGizmo(bool drawFullRect, float fullRectColorShade /*= 0.33f*/)
        {
#if UNITY_EDITOR
            Matrix4x4 initialMatrix = Gizmos.matrix;
            Color     initialColor  = Gizmos.color;

            Gizmos.matrix = this.transform.localToWorldMatrix;

            Rect r = this.GetLocalRect();

            Gizmos.color = initialColor;

            switch (this.shape)
            {
            case Shape.Rectangle:
            case Shape.Square:
                Gizmos.DrawWireCube(r.center, r.size);
                break;

            case Shape.Circle:
            case Shape.Ellipse:
                Gizmos.matrix = Gizmos.matrix * CFGizmos.GetCircleMatrix(r.center, new Vector2(r.width, ((this.shape == Shape.Ellipse) ? r.height : r.width)));                 //.matrix * Matrix4x4.TRS(r.center, Quaternion.identity, new Vector3(r.width, ((this.shape == Shape.ELLIPSE) ? r.height : r.width), 0.00001f));
                CFGizmos.DrawOutlinedCircle();
                break;
            }

            Gizmos.matrix = initialMatrix;
#endif
        }
示例#2
0
        // --------------------
        override protected void DrawCustomGizmos(bool selected)
        {
            Matrix4x4 initialMatrix = Gizmos.matrix;

            Rect r = this.GetLocalRect();



            // Draw shape and full rect...

            Gizmos.color = (selected ? Color.red : Color.white);
            this.DrawDefaultGizmo(true);


            if (this.wheelMode == WheelMode.Turn)
            {
                Gizmos.matrix = this.transform.localToWorldMatrix * Matrix4x4.TRS(r.center, Quaternion.identity, new Vector3(r.width, r.height, 0.00001f));

                Gizmos.color = Color.yellow;

                CFGizmos.DrawCircle(Vector3.zero, this.turnModeDeadZone, false);

                Gizmos.matrix = initialMatrix;
            }
        }
        // --------------------
        override protected void DrawCustomGizmos(bool selected)
        {
            if (this.state == null)
            {
                return;
            }

            Matrix4x4 initialMatrix = Gizmos.matrix;


            Rect r = this.GetLocalRect();

            Color analogDeadZoneColor  = Color.yellow * 0.33f;
            Color analogEndZoneColor   = Color.yellow * 0.66f;
            Color analogEdgeColor      = Color.yellow;
            Color digitalDeadZoneColor = Color.green * 0.5f;



            // Draw shape and full rect...

            Gizmos.color = (selected ? Color.red : Color.white);
            this.DrawDefaultGizmo(true);



            Gizmos.matrix = this.transform.localToWorldMatrix * Matrix4x4.TRS(r.center, Quaternion.identity, new Vector3(r.width, r.height, 0.00001f));



            // Draw Analog dead zone...

            if (this.config.analogDeadZone > 0)
            {
                Gizmos.color = analogDeadZoneColor;

                if (this.config.clampMode == JoystickConfig.ClampMode.Circle)         //.circularClamp)
                {
                    CFGizmos.DrawCircle(Vector3.zero, this.config.analogDeadZone, false);
                }
                else
                {
                    Gizmos.DrawWireCube(Vector3.zero, Vector3.one * this.config.analogDeadZone);
                }
            }

            if (this.config.analogEndZone < 1)
            {
                Gizmos.color = analogEndZoneColor;

                if (this.config.clampMode == JoystickConfig.ClampMode.Circle)         //.circularClamp)
                {
                    CFGizmos.DrawCircle(Vector3.zero, this.config.analogEndZone, false);
                }
                else
                {
                    Gizmos.DrawWireCube(Vector3.zero, Vector3.one * this.config.analogEndZone);
                }
            }

            if (this.config.digitalEnterThresh > 0)
            {
                Gizmos.color = digitalDeadZoneColor;

                if (this.config.clampMode == JoystickConfig.ClampMode.Circle)         //.circularClamp)
                {
                    CFGizmos.DrawCircle(Vector3.zero, this.config.digitalEnterThresh, false);
                }
                else
                {
                    Gizmos.DrawWireCube(Vector3.zero, Vector3.one * this.config.digitalEnterThresh);
                }
            }

            if ((this.config.clampMode == JoystickConfig.ClampMode.Circle) != ((this.shape == TouchControl.Shape.Circle) || (this.shape == TouchControl.Shape.Ellipse)))
            {
                Gizmos.color = analogEdgeColor;

                if (this.config.clampMode == JoystickConfig.ClampMode.Circle)         //.circularClamp)
                {
                    CFGizmos.DrawCircle(Vector3.zero, Vector3.one, false);
                }
                else
                {
                    Gizmos.DrawWireCube(Vector3.zero, Vector3.one);
                }
            }



            Gizmos.matrix = initialMatrix;
        }