public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { myMonster.IsAttacking = true; float dir = (myMonster.Target.position - myMonster.transform.position).normalized.x; dir = Mathf.Clamp01(dir) == 0f ? -1f : 1f; //TODO: 개선 if (dir < 0f && myMonster.transform.lossyScale.x > 0f) { myMonster.SetTurn(); } else if (dir > 0f && myMonster.transform.lossyScale.x < 0f) { myMonster.SetTurn(); } if (isOn == false && (stateInfo.normalizedTime % 1) >= AttackActivation.minValue) { myMonster.AttackTrigger(AttackTrigger); isOn = true; } if (isOff == false && (stateInfo.normalizedTime % 1) >= AttackActivation.maxValue) { myMonster.AttackTrigger(0); isOff = true; } }
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { float dir = (myMonster.Target.position - myMonster.transform.position).normalized.x; dir = Mathf.Clamp01(dir) == 0f ? -1f : 1f; //TODO: 개선 if (dir < 0f && myMonster.transform.lossyScale.x > 0f) { myMonster.SetTurn(); } else if (dir > 0f && myMonster.transform.lossyScale.x < 0f) { myMonster.SetTurn(); } _Rigidbody2D.velocity = new Vector2(dir * speed * Time.deltaTime, _Rigidbody2D.velocity.y); }