public override void OnExit() { if (tween == null || onExit == OnExitAction.Nothing) { return; } if (onExit == OnExitAction.RewindOnExit) { tween.Rewind(); } else if (onExit == OnExitAction.PauseOnExit) { tween.Pause(); } }
public override void OnEnter() { // var goTarget = Fsm.GetOwnerDefaultTarget(target); List <IHOTweenComponent> tweens = new List <IHOTweenComponent>(); /* * if (goTarget != null) * { * Debug.Log("looking for tweens by target :"+goTarget.name); * List<Tweener> tweeners = HOTween. .GetTweenersByTarget(goTarget.transform,true); * foreach (Tweener tweener in tweeners) * { * Debug.Log(tweener.id+ " "+tweenID.Value); * * if (string.Equals(tweener.id,tweenID.Value)) * { * tweens.Add(tweener); * } * } * }else{ * * tweens = HOTween.GetTweensById(tweenID.Value,false); * * } */ tweens = HOTween.GetTweensById(tweenID.Value, false); if (tweens.Count == 0) { LogWarning("HOTween " + tweenID.Value + " not found"); Fsm.Event(failed); Finish(); return; } else { tween = tweens[0]; tween.autoKillOnComplete = false; if (tween.isComplete) { if (startAction == OnStartAction.RewindIfCompleted || startAction == OnStartAction.alwaysRewind) { tween.Rewind(); } } if (tween.hasStarted) { if (startAction == OnStartAction.RewindIfPlaying || startAction == OnStartAction.alwaysRewind) { tween.Rewind(); } } if (playType == PlayType.playForward) { tween.PlayForward(); } else if (playType == PlayType.playBackward) { tween.PlayBackwards(); } else { tween.Play(); } } if (completed == null) { Debug.Log("finished"); Finish(); } else { if (tween.loops == -1 && completed != null) { LogWarning("tween " + tweenID.Value + " is looping to infinite, the completed event will never be fired"); } } }