private Tween(bool isSingle) { _instance = Pool <TweenInstance> .Spawn(); _id = _instance.instanceId; _instance.returnToPoolUponStop = isSingle; }
private Tween CreateTween() { if (TweenInstance != null) { TweenInstance.Kill(); } Vector3 destination = TweenData.Destination; float duration = TweenData.Duration; Ease easeSetting = TweenData.EaseSetting; int loops = TweenData.Loops; LoopType loopSetting = TweenData.LoopSetting; Tween tween = null; switch (_tweenAnimType) { case TweenAnimType.Scale: tween = CreateScaleTween(destination, duration, easeSetting, loops, loopSetting); break; case TweenAnimType.Move: tween = CreateMoveTween(destination, duration, easeSetting, loops, loopSetting); break; case TweenAnimType.Rotate: tween = CreateRotateTween(destination, duration, easeSetting, loops, loopSetting); break; } return(tween); }
public void PauseTween() { if (TweenInstance.IsPlaying()) { TweenInstance.Pause(); } }
private void OnDisable() { TweenInstance.Kill(); if (TweenData.ResetOnDisable) { ResetTransform(); } }
IEnumerator PlayTweenWithDelay(float delay) { yield return(new WaitForSeconds(delay)); if (!TweenInstance.IsPlaying()) { TweenInstance.Play(); } }
public void PlayTween() { UpdateTweenData(); TweenInstance = CreateTween(); ResetTransform(); if (TweenData.StartDelay > 0) { StartCoroutine(PlayTweenWithDelay(TweenData.StartDelay)); } else { TweenInstance.Play(); } }