Files
lllyasviel 72f9f431f4 first
2017-05-14 16:15:52 +08:00

63 lines
2.2 KiB
C#

//----------------------------------------------
// NGUI: Next-Gen UI kit
// Copyright © 2011-2015 Tasharen Entertainment
//----------------------------------------------
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(UIPlayTween))]
public class UIPlayTweenEditor : Editor
{
enum ResetOnPlay
{
ContinueFromCurrent,
RestartTween,
RestartIfNotPlaying,
}
enum SelectedObject
{
KeepCurrent,
SetToNothing,
}
public override void OnInspectorGUI ()
{
NGUIEditorTools.SetLabelWidth(120f);
UIPlayTween tw = target as UIPlayTween;
GUILayout.Space(6f);
GUI.changed = false;
GameObject tt = (GameObject)EditorGUILayout.ObjectField("Tween Target", tw.tweenTarget, typeof(GameObject), true);
bool inc = EditorGUILayout.Toggle("Include Children", tw.includeChildren);
int group = EditorGUILayout.IntField("Tween Group", tw.tweenGroup, GUILayout.Width(160f));
AnimationOrTween.Trigger trigger = (AnimationOrTween.Trigger)EditorGUILayout.EnumPopup("Trigger condition", tw.trigger);
AnimationOrTween.Direction dir = (AnimationOrTween.Direction)EditorGUILayout.EnumPopup("Play direction", tw.playDirection);
AnimationOrTween.EnableCondition enab = (AnimationOrTween.EnableCondition)EditorGUILayout.EnumPopup("If target is disabled", tw.ifDisabledOnPlay);
ResetOnPlay rs = tw.resetOnPlay ? ResetOnPlay.RestartTween : (tw.resetIfDisabled ? ResetOnPlay.RestartIfNotPlaying : ResetOnPlay.ContinueFromCurrent);
ResetOnPlay reset = (ResetOnPlay)EditorGUILayout.EnumPopup("On activation", rs);
AnimationOrTween.DisableCondition dis = (AnimationOrTween.DisableCondition)EditorGUILayout.EnumPopup("When finished", tw.disableWhenFinished);
if (GUI.changed)
{
NGUIEditorTools.RegisterUndo("Tween Change", tw);
tw.tweenTarget = tt;
tw.tweenGroup = group;
tw.includeChildren = inc;
tw.trigger = trigger;
tw.playDirection = dir;
tw.ifDisabledOnPlay = enab;
tw.resetOnPlay = (reset == ResetOnPlay.RestartTween);
tw.resetIfDisabled = (reset == ResetOnPlay.RestartIfNotPlaying);
tw.disableWhenFinished = dis;
NGUITools.SetDirty(tw);
}
NGUIEditorTools.SetLabelWidth(80f);
NGUIEditorTools.DrawEvents("On Finished", tw, tw.onFinished);
}
}