示例#1
0
        private void OnSceneGUI()
        {
            var area = new Rect(_areaController.transform.position.x - Mover.PositionOffset.x - _areaController.LeftDistance, _areaController.transform.position.y - Mover.PositionOffset.y - _areaController.DownDistance, 1 + _areaController.RightDistance + _areaController.LeftDistance, 1 + _areaController.UpDistance + _areaController.DownDistance);

            Handles.DrawSolidRectangleWithOutline(area, new Color(0.0f, 1.0f, 1.0f, 0.1f), Color.cyan);

            var bounds = HandleHelper.ScaleHandles(area, Vector2.one, Color.white, Color.white);

            using (new UndoScope(serializedObject))
            {
                _left.intValue  -= Mathf.RoundToInt(bounds.xMin - area.xMin);
                _right.intValue += Mathf.RoundToInt(bounds.xMax - area.xMax);
                _up.intValue    += Mathf.RoundToInt(bounds.yMax - area.yMax);
                _down.intValue  -= Mathf.RoundToInt(bounds.yMin - area.yMin);

                Validate();
            }
        }