45 lines
1.8 KiB
C#
45 lines
1.8 KiB
C#
|
|
using UnityEditor;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
namespace Com.LuisPedroFonseca.ProCamera2D
|
|||
|
|
{
|
|||
|
|
[CustomEditor(typeof(ProCamera2DSpeedBasedZoom))]
|
|||
|
|
public class ProCamera2DSpeedBasedZoomEditor : Editor
|
|||
|
|
{
|
|||
|
|
public override void OnInspectorGUI()
|
|||
|
|
{
|
|||
|
|
if (target == null)
|
|||
|
|
return;
|
|||
|
|
|
|||
|
|
var proCamera2DSpeedBasedZoom = (ProCamera2DSpeedBasedZoom)target;
|
|||
|
|
|
|||
|
|
if(proCamera2DSpeedBasedZoom.ProCamera2D == null)
|
|||
|
|
EditorGUILayout.HelpBox("ProCamera2D is not set.", MessageType.Error, true);
|
|||
|
|
|
|||
|
|
DrawDefaultInspector();
|
|||
|
|
|
|||
|
|
if (proCamera2DSpeedBasedZoom.MaxZoomInAmount < 1f)
|
|||
|
|
proCamera2DSpeedBasedZoom.MaxZoomInAmount = 1f;
|
|||
|
|
|
|||
|
|
if (proCamera2DSpeedBasedZoom.MaxZoomOutAmount < 1f)
|
|||
|
|
proCamera2DSpeedBasedZoom.MaxZoomOutAmount = 1f;
|
|||
|
|
|
|||
|
|
if (proCamera2DSpeedBasedZoom.CamVelocityForZoomOut <= proCamera2DSpeedBasedZoom.CamVelocityForZoomIn)
|
|||
|
|
proCamera2DSpeedBasedZoom.CamVelocityForZoomOut = proCamera2DSpeedBasedZoom.CamVelocityForZoomIn + .1f;
|
|||
|
|
|
|||
|
|
if (proCamera2DSpeedBasedZoom.CamVelocityForZoomIn >= proCamera2DSpeedBasedZoom.CamVelocityForZoomOut)
|
|||
|
|
proCamera2DSpeedBasedZoom.CamVelocityForZoomIn = proCamera2DSpeedBasedZoom.CamVelocityForZoomOut - .1f;
|
|||
|
|
|
|||
|
|
if (proCamera2DSpeedBasedZoom.CamVelocityForZoomIn < .5f)
|
|||
|
|
proCamera2DSpeedBasedZoom.CamVelocityForZoomIn = .5f;
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space();
|
|||
|
|
GUI.enabled = false;
|
|||
|
|
EditorGUILayout.BeginHorizontal();
|
|||
|
|
GUILayout.Label("Current Velocity (approx.)");
|
|||
|
|
GUILayout.Label(proCamera2DSpeedBasedZoom.CurrentVelocity.ToString());
|
|||
|
|
EditorGUILayout.EndHorizontal();
|
|||
|
|
GUI.enabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|