public void OnStateFixedUpdate() { timer += Time.fixedDeltaTime; if (timer > enemy.stats.minPathUpdateTime) { UpdatePath(); } if (enemy.path == null) { return; } if (enemy.targetIndex < enemy.path.Length - 1 || enemy.targetIndex == enemy.path.Length - 1 && enemy.rb.position != enemy.destination) { enemy.rb.position = enemy.ReturnNextPoint(); enemy.sGroup.sortingOrder = Info.SortingOrder(enemy.sortingTransform.position.y); } else if (enemy.targetIndex == enemy.path.Length - 1 && enemy.rb.position == enemy.destination) { UpdatePath(true); } attackTimer += Time.fixedDeltaTime; if (attackTimer > enemy.currentAttack.attackInterval) { if (enemy.currentAttack.attackRange != 0) { if (enemy.CheckRangeToPlayer(enemy.currentAttack.attackRange)) { enemy.state.ChangeState(enemy.attackState); } } } }