44 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|