public override void OnInspectorGUI() { NGUIEditorTools.SetLabelWidth(120f); UIPlayAnimation pa = target as UIPlayAnimation; GUILayout.Space(6f); GUI.changed = false; EditorGUI.BeginDisabledGroup(pa.target); Animator animator = (Animator)EditorGUILayout.ObjectField("Animator", pa.animator, typeof(Animator), true); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(pa.animator); Animation anim = (Animation)EditorGUILayout.ObjectField("Animation", pa.target, typeof(Animation), true); EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(anim == null && animator == null); string clipName = EditorGUILayout.TextField("State Name", pa.clipName); AnimationOrTween.Trigger trigger = (AnimationOrTween.Trigger)EditorGUILayout.EnumPopup("Trigger condition", pa.trigger); EditorGUI.BeginDisabledGroup(animator != null && !string.IsNullOrEmpty(clipName)); AnimationOrTween.Direction dir = (AnimationOrTween.Direction)EditorGUILayout.EnumPopup("Play direction", pa.playDirection); EditorGUI.EndDisabledGroup(); SelectedObject so = pa.clearSelection ? SelectedObject.SetToNothing : SelectedObject.KeepCurrent; bool clear = (SelectedObject)EditorGUILayout.EnumPopup("Selected object", so) == SelectedObject.SetToNothing; AnimationOrTween.EnableCondition enab = (AnimationOrTween.EnableCondition)EditorGUILayout.EnumPopup("If disabled on start", pa.ifDisabledOnPlay); ResetOnPlay rs = pa.resetOnPlay ? ResetOnPlay.RestartAnimation : ResetOnPlay.ContinueFromCurrent; bool reset = (ResetOnPlay)EditorGUILayout.EnumPopup("On activation", rs) == ResetOnPlay.RestartAnimation; AnimationOrTween.DisableCondition dis = (AnimationOrTween.DisableCondition)EditorGUILayout.EnumPopup("When finished", pa.disableWhenFinished); EditorGUI.EndDisabledGroup(); if (GUI.changed) { NGUIEditorTools.RegisterUndo("PlayAnimation Change", pa); pa.target = anim; pa.animator = animator; pa.clipName = clipName; pa.trigger = trigger; pa.playDirection = dir; pa.clearSelection = clear; pa.ifDisabledOnPlay = enab; pa.resetOnPlay = reset; pa.disableWhenFinished = dis; NGUITools.SetDirty(pa); } NGUIEditorTools.SetLabelWidth(80f); NGUIEditorTools.DrawEvents("On Finished", pa, pa.onFinished); }
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); var ss = tw.startState; var inc = EditorGUILayout.Toggle("Include Children", tw.includeChildren); var setState = EditorGUILayout.Toggle("Start State", tw.setState); if (setState) { ss = EditorGUILayout.FloatField(" value", ss); } var 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.setState = setState; tw.startState = ss; 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); }
static int set_trigger(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); UIPlayTween obj = (UIPlayTween)o; AnimationOrTween.Trigger arg0 = (AnimationOrTween.Trigger)ToLua.CheckObject(L, 2, typeof(AnimationOrTween.Trigger)); obj.trigger = arg0; return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index trigger on a nil value")); } }
static int get_trigger(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); UIPlayTween obj = (UIPlayTween)o; AnimationOrTween.Trigger ret = obj.trigger; ToLua.Push(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index trigger on a nil value")); } }
public override void OnInspectorGUI() { NGUIEditorTools.SetLabelWidth(120f); UIPlayAnimation pa = target as UIPlayAnimation; GUILayout.Space(6f); GUI.changed = false; Animation anim = (Animation)EditorGUILayout.ObjectField("Target", pa.target, typeof(Animation), true); string clipName = EditorGUILayout.TextField("Clip Name", pa.clipName); AnimationOrTween.Trigger trigger = (AnimationOrTween.Trigger)EditorGUILayout.EnumPopup("Trigger condition", pa.trigger); AnimationOrTween.Direction dir = (AnimationOrTween.Direction)EditorGUILayout.EnumPopup("Play direction", pa.playDirection); SelectedObject so = pa.clearSelection ? SelectedObject.SetToNothing : SelectedObject.KeepCurrent; bool clear = (SelectedObject)EditorGUILayout.EnumPopup("Selected object", so) == SelectedObject.SetToNothing; AnimationOrTween.EnableCondition enab = (AnimationOrTween.EnableCondition)EditorGUILayout.EnumPopup("If disabled on start", pa.ifDisabledOnPlay); ResetOnPlay rs = pa.resetOnPlay ? ResetOnPlay.StartFromBeginning : ResetOnPlay.Continue; bool reset = (ResetOnPlay)EditorGUILayout.EnumPopup("If already playing", rs) == ResetOnPlay.StartFromBeginning; AnimationOrTween.DisableCondition dis = (AnimationOrTween.DisableCondition)EditorGUILayout.EnumPopup("When finished", pa.disableWhenFinished); if (GUI.changed) { NGUIEditorTools.RegisterUndo("PlayAnimation Change", pa); pa.target = anim; pa.clipName = clipName; pa.trigger = trigger; pa.playDirection = dir; pa.clearSelection = clear; pa.ifDisabledOnPlay = enab; pa.resetOnPlay = reset; pa.disableWhenFinished = dis; UnityEditor.EditorUtility.SetDirty(pa); } NGUIEditorTools.SetLabelWidth(80f); NGUIEditorTools.DrawEvents("On Finished", pa, pa.onFinished); }
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 disabled on start", tw.ifDisabledOnPlay); ResetOnPlay rs = tw.resetOnPlay ? ResetOnPlay.StartFromBeginning : ResetOnPlay.Continue; bool reset = (ResetOnPlay)EditorGUILayout.EnumPopup("If already playing", rs) == ResetOnPlay.StartFromBeginning; 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; tw.disableWhenFinished = dis; UnityEditor.EditorUtility.SetDirty(tw); } NGUIEditorTools.SetLabelWidth(80f); NGUIEditorTools.DrawEvents("On Finished", tw, tw.onFinished); }
//--------------------------------------------------------------------- private bool PlayWindowAnimation(RequestType nextRequest, bool isShow) { RequestBatch batch = LastRequestBatch(); if (batch != null) { // Only one animation playing. if (batch.type == RequestType.ShowAnimation || batch.type == RequestType.HideAnimation) { return(false); } } RequestType requestType = isShow ? RequestType.ShowAnimation : RequestType.HideAnimation; int totalAnimationCount = 0; AnimationOrTween.Trigger conditionTrigger = isShow ? AnimationOrTween.Trigger.OnActivateTrue : AnimationOrTween.Trigger.OnActivateFalse; for (int index = 0; index < m_WindowAnimations.Length; ++index) { UIPlayTween playTween = m_WindowAnimations[index]; if (playTween.trigger != conditionTrigger || !playTween.enabled || !playTween.gameObject.activeSelf || playTween.tweenTarget == null) { continue; } UITweener[] childTweens = null; if (playTween.includeChildren) { childTweens = playTween.tweenTarget.GetComponentsInChildren <UITweener>(); } else { childTweens = playTween.tweenTarget.GetComponents <UITweener>(); } int ownTweenerCount = 0; for (int i = 0; i < childTweens.Length; ++i) { if (childTweens[i].tweenGroup == playTween.tweenGroup) { ownTweenerCount++; } } if (ownTweenerCount == 0) { continue; } ++totalAnimationCount; EventDelegate finishedCallback = null; object[] lastDataArray = null; if (requestDataArray != null && requestDataArray.Length != 0) { lastDataArray = new object[requestDataArray.Length]; Array.Copy(requestDataArray, lastDataArray, lastDataArray.Length); } finishedCallback = new EventDelegate(delegate() { playTween.onFinished.Remove(finishedCallback); --totalAnimationCount; if (totalAnimationCount <= 0) { RemoveRequestBatch(requestType); PushRequest(nextRequest, lastDataArray); } }); playTween.onFinished.Add(finishedCallback); } if (totalAnimationCount == 0) { return(false); } PushRequest(requestType, requestDataArray); // iTween toggle message gameObject.SendMessage("OnActivate", isShow, SendMessageOptions.DontRequireReceiver); return(true); }