Do Sequence Movement
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
[CreateAssetMenu(menuName = "Gridr/Sequences/DOTween DOSequence Movement")] | |
public class DoSequenceSequence : MovementSequence | |
{ | |
public float stepTime; | |
public override IEnumerator Run(GridEntity entity, Stack<Cell> path, OnSequenceStarted onSequenceStarted, OnSequenceCompleted onSequenceCompleted) | |
{ | |
Sequence movementSequence = DOTween.Sequence(); | |
float counter = 0f; | |
while (!path.IsEmpty()) | |
{ | |
Tween movementTween = entity.transform.DOMove(path.Pop().GroundPoint.position + entity.PositionOffset, stepTime).SetEase(Ease.Linear); | |
movementSequence.Insert(counter += stepTime, movementTween); | |
} | |
movementSequence.OnComplete(() => onSequenceCompleted?.Invoke()); | |
yield return null; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment