private void CommitDive() { if (ANIMATION_DATA.PlayTime < DiveTime) { return; } if (ANIMATION_DATA.PlayTime > RollTime) { return; } CONTROL_MECHANISM.RIGIDBODY.useGravity = true; CONTROL_MECHANISM.TriggerColliderControl(DynamicColliderType.DEFAULT); if (IsDiving) { if (!StopAnimationTriggered) { StopAnimationTriggered = true; ANIMATION_DATA.StopAnimation(); } UpdateFallTilt(); } }
public bool UpdateAnimation() { ANIMATION_DATA.UpdateData(); if (!ANIMATION_DATA.IsAnimation()) { return(false); } else { return(true); } }
private void Roll() { //check for ground collision if (!ANIMATION_DATA.AnimationIsPlaying()) { if (move.IsGoingToLand() || MOVEMENT_DATA.IsGrounded) { CONTROL_MECHANISM.ClearVelocity(); ANIMATION_DATA.PlayAnimation(); } } //resume normal play if (ANIMATION_DATA.PlayTime >= RollTime) { SetDefaultTilt(); move.MoveForward(MOVEMENT_DATA.RunSpeed * 0.9f, CHARACTER_TRANSFORM.rotation.eulerAngles.y); CONTROL_MECHANISM.TriggerColliderControl(DynamicColliderType.DEFAULT); } }
public bool DurationTimePassed() { if (!ANIMATION_DATA.IsAnimation()) { return(false); } if (Duration == 0f) { return(false); } else if (ANIMATION_DATA.PlayTime >= Duration) { return(true); } else { return(false); } }
public override void RunFixedUpdate () { if (ANIMATION_DATA.AnimationNameMatches) { if (ANIMATION_DATA.PlayTime < 0.6f) { if (!MOVEMENT_DATA.IsGrounded) { move.MoveForward (MOVEMENT_DATA.RunSpeed * 0.65f, CHARACTER_TRANSFORM.rotation.eulerAngles.y); } } //hangtime if (ANIMATION_DATA.PlayTime > 0.48f) { ResetCameraToNormal (); if (!MOVEMENT_DATA.IsGrounded) { if (ANIMATION_DATA.AnimationIsPlaying ()) { ANIMATION_DATA.StopAnimation (); } } if (!ANIMATION_DATA.AnimationIsPlaying ()) { if (MOVEMENT_DATA.IsGrounded) { ANIMATION_DATA.PlayAnimation (); } } } //show effect - motion, cam shake if (ANIMATION_DATA.PlayTime > 0.515f) { if (MOVEMENT_DATA.IsGrounded) { if (!attack.AttackAnimationMotionTriggered) { attack.AttackAnimationMotionTriggered = true; GameObject sm = VFX_MANAGER.ShowSimpleEffect (SimpleEffectType.MOTION_STRAIGHT_ATTACK, CONTROL_MECHANISM.transform.position); if (!CONTROL_MECHANISM.IsFacingForward ()) { sm.transform.rotation = Quaternion.Euler (0, 180, 0); } else { sm.transform.rotation = Quaternion.Euler (0, 0, 0); } CAMERA_MANAGER.ShakeCamera (0.4f); } } } //show effect - ground effect if (ANIMATION_DATA.PlayTime > 0.55f) { if (attack.AttackAnimationMotionTriggered && !GroundEffectShown) { GroundEffectShown = true; GameObject nt = VFX_MANAGER.ShowSimpleEffect (SimpleEffectType.NITRONIC, CONTROL_MECHANISM.transform.position); if (!CONTROL_MECHANISM.IsFacingForward ()) { nt.transform.rotation = Quaternion.Euler (0, 180, 0); } else { nt.transform.rotation = Quaternion.Euler (0, 0, 0); } VFX_MANAGER.ShowSimpleEffect (SimpleEffectType.GROUND_IMPACT_DUST, CONTROL_MECHANISM.transform.position); //need to be more specific later foreach (ControlMechanism e in CHARACTER_MANAGER.ListEnemies) { if (e.characterStateController.CurrentState.GetType () != typeof (CharacterDeath)) { float dist = Vector3.Distance (e.transform.position, CONTROL_MECHANISM.transform.position); //Debug.Log (e.gameObject.name + " distance to player: " + dist); if (dist < 1.8f) { e.characterStateController.DeathCause = "GroundShock"; e.characterStateController.ChangeState (999); } } } } } } else { move.MoveForward (MOVEMENT_DATA.RunSpeed * 0.7f, CHARACTER_TRANSFORM.rotation.eulerAngles.y); } }