private void ControlledMove(CharacterControl control, AnimatorStateInfo stateInfo) { if (control.MoveRight && control.MoveLeft) { return; } if (!control.MoveRight && !control.MoveLeft) { return; } if (control.MoveRight) { if (!IsBlocked(control)) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } if (control.MoveLeft) { if (!IsBlocked(control)) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } CheckTurn(control); }
private void ControlledMove(CharacterControl control, Animator animator, AnimatorStateInfo stateInfo) { if (control.MoveRight && control.MoveLeft) { animator.SetBool(HashManager.Instance.DicMainParams[TransitionParameter.Move], false); return; } if (!control.MoveRight && !control.MoveLeft) { animator.SetBool(HashManager.Instance.DicMainParams[TransitionParameter.Move], false); return; } if (control.MoveRight) { if (!IsBlocked(control, Speed, stateInfo)) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } if (control.MoveLeft) { if (!IsBlocked(control, Speed, stateInfo)) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } CheckTurn(control); }
private void ConstantMove(CharacterControl control, Animator animator, AnimatorStateInfo stateInfo) { if (!IsBlocked(control, Speed, stateInfo)) { if (MoveOnHit) { if (!control.animationProgress.IsFacingAttacker()) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } else { control.MoveForward(-Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } else { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } if (!control.MoveRight && !control.MoveLeft) { animator.SetBool(HashManager.Instance.DicMainParams[TransitionParameter.Move], false); } else { animator.SetBool(HashManager.Instance.DicMainParams[TransitionParameter.Move], true); } }
private void ConstantMove(CharacterControl control, AnimatorStateInfo stateInfo) { if (!IsBlocked(control)) { if (MoveOnHit) { if (!control.animationProgress.IsFacingAttacker()) { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } else { control.MoveForward(-Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } else { control.MoveForward(Speed, SpeedGraph.Evaluate(stateInfo.normalizedTime)); } } }
private void UpdateMomentum(CharacterControl control, AnimatorStateInfo stateInfo) { if (!control.animationProgress.RightSideIsBlocked()) { if (control.MoveRight) { control.animationProgress.AirMomentum += SpeedGraph.Evaluate(stateInfo.normalizedTime) * Speed * Time.deltaTime; } } if (!control.animationProgress.LeftSideIsBlocked()) { if (control.MoveLeft) { control.animationProgress.AirMomentum -= SpeedGraph.Evaluate(stateInfo.normalizedTime) * Speed * Time.deltaTime; } } if (control.animationProgress.RightSideIsBlocked() || control.animationProgress.LeftSideIsBlocked()) { control.animationProgress.AirMomentum = Mathf.Lerp(control.animationProgress.AirMomentum, 0f, Time.deltaTime * 1.5f); } if (Mathf.Abs(control.animationProgress.AirMomentum) >= MaxMomentum) { if (control.animationProgress.AirMomentum > 0f) { control.animationProgress.AirMomentum = MaxMomentum; } else if (control.animationProgress.AirMomentum < 0f) { control.animationProgress.AirMomentum = -MaxMomentum; } } if (control.animationProgress.AirMomentum > 0f) { control.FaceForward(true); } else if (control.animationProgress.AirMomentum < 0f) { control.FaceForward(false); } if (!IsBlocked(control, Speed, stateInfo)) { control.MoveForward(Speed, Mathf.Abs(control.animationProgress.AirMomentum)); } }
private void MoveOnMomentum(CharacterControl control, AnimatorStateInfo stateInfo) { float speed = SpeedGraph.Evaluate(stateInfo.normalizedTime) * Speed * Time.deltaTime; control.MOMENTUM_DATA.CalculateMomentum(speed, MaxMomentum); if (control.MOMENTUM_DATA.Momentum > 0f) { control.ROTATION_DATA.FaceForward(true); } else if (control.MOMENTUM_DATA.Momentum < 0f) { control.ROTATION_DATA.FaceForward(false); } if (!IsBlocked(control)) { control.MoveForward(Speed, Mathf.Abs(control.MOMENTUM_DATA.Momentum)); } }