Files
beyond/Assets/ThirdParty/PlayMaker/Actions/Editor/GetDistanceEditor.cs
2024-11-20 15:21:28 +01:00

44 lines
1.3 KiB
C#

using System.ComponentModel;
using System.Globalization;
using HutongGames.PlayMaker.Actions;
using HutongGames.PlayMakerEditor;
using UnityEditor;
using UnityEngine;
using System.Collections;
namespace HutongGames.PlayMakerEditor
{
[CustomActionEditor(typeof(HutongGames.PlayMaker.Actions.GetDistance))]
public class GetDistanceEditor : CustomActionEditor
{
public override bool OnGUI()
{
return DrawDefaultInspector();
}
[Localizable(false)]
public override void OnSceneGUI()
{
var action = (HutongGames.PlayMaker.Actions.GetDistance)target;
var fromObject = action.Fsm.GetOwnerDefaultTarget(action.gameObject);
var toObject = action.target;
if (fromObject == null || toObject.IsNone || toObject.Value == null)
{
return;
}
var fromPos = fromObject.transform.position;
var toPos = toObject.Value.transform.position;
var distance = Vector3.Distance(fromPos, toPos);
var label = string.Format("Get Distance:\n{0}", string.Format("{0:0.000}", distance));
Handles.color = new Color(1, 1, 1, 0.5f);
Handles.DrawLine(fromPos, toPos);
Handles.Label((fromPos + toPos)*0.5f, label);
}
}
}