public void NormalAttack(PlayerUnitController target, Action endTrigger) {
originPosition = transform.position;
transform.DOMove(target.transform.position, 1).OnComplete(() => StartCoroutine(PlayAnim(endTrigger)));
}
IEnumerator PlayAnim(Action backToOriginPos)
{
isFinishedAnim = false;
int animLayer = 0;
anim.SetTrigger(AnimeTrigger.NormalAttack.ToString());
//Wait until Animator is done playing
while (anim.GetCurrentAnimatorStateInfo(animLayer).IsName(AnimeTrigger.NormalAttack.ToString()) &&
anim.GetCurrentAnimatorStateInfo(animLayer).normalizedTime < 1.0f)
{
//Wait every frame until animation has finished
yield return null;
}
//Done playing. Do something below!
Debug.Log("Done Playing");
;
transform.DOMove(originPosition, 1).OnComplete(() => backToOriginPos?.Invoke());
isFinishedAnim = true;
}
시작하면 타겟까지 이동해서 칼질하고 다시 돌아오는 트리거입니다.
보완할점 말해주세요.
딱히 보완할게 없어보이는데
어느방면에서 보완할점을 알려달라는거냐? 밑도 끝도업이 던지는 애들 왜이렇게 많지
제가 알고리즘을 잘알지못해서 저거보다 더 간략하게 작성하는 방법있나 하여 올린겁니다. 메카니즘은 위에쓴대로이고요