Ejemplo n.º 1
0
        public override void RunFixedUpdate()
        {
            MOVEMENT_DATA.Turn = move.GetTurn();

            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (CONTROL_MECHANISM.IsFalling())
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                    return;
                }

                if (ATTACK_DATA.AttackA)
                {
                    if (!StartRunningKickBuffer)
                    {
                        characterStateController.ChangeState((int)PlayerState.RunningKick);
                        return;
                    }
                }

                UpdateRun();
            }
            else
            {
                if (characterStateController.PrevState.GetType() == typeof(PlayerRunningKick))
                {
                    move.MoveForward(MOVEMENT_DATA.RunSpeed * 1.125f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
                }
                else
                {
                    move.MoveForward(MOVEMENT_DATA.RunSpeed * 0.9f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
                }
            }
        }
Ejemplo n.º 2
0
        public override void RunFixedUpdate()
        {
            MOVEMENT_DATA.Turn = move.GetTurn();
            move.AirMove();

            if (MOVEMENT_DATA.IsGrounded)
            {
                if (RollAfterJump())
                {
                    characterStateController.ChangeState((int)PlayerState.StandToRoll);
                    return;
                }
                else
                {
                    CONTROL_MECHANISM.ClearVelocity();
                    characterStateController.ChangeState((int)PlayerState.FallingToLanding);
                    return;
                }
            }

            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (jump.GrabLedge())
                {
                    characterStateController.ChangeState((int)PlayerState.HangingIdle);
                    return;
                }
            }
        }
        public override void RunFixedUpdate()
        {
            MOVEMENT_DATA.Turn = move.GetTurn();
            move.AirMove();

            if (ANIMATION_DATA.AnimationNameMatches)
            {
                jump.JumpUp(JumpForce, true);

                if (jump.GrabLedge())
                {
                    characterStateController.ChangeState((int)PlayerState.HangingIdle);
                    return;
                }

                if (ANIMATION_DATA.PlayTime > 0.25f)
                {
                    if (MOVEMENT_DATA.IsGrounded || move.IsGoingToLand())
                    {
                        CONTROL_MECHANISM.ClearVelocity();
                        characterStateController.ChangeState((int)PlayerState.FallingToLanding);
                        return;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public override void RunFrameUpdate()
        {
            if (UpdateAnimation())
            {
                //Debug.Log(ANIMATION_DATA.PlayTime);
                if (DurationTimePassed())
                {
                    characterStateController.ChangeState((int)PlayerState.HumanoidIdle);
                    return;
                }

                if (attack.UpdateHit(TouchDetectorType.ATTACK_RIGHT_FOOT, ref attack.Target))
                {
                    if (attack.Target.characterStateController.CurrentState.ANIMATION_DATA.characterAnimator.GetFloat("DeathAnimationIndex") == 1f)
                    {
                        if (!attack.Target.moveData.IsGrounded)
                        {
                            CharacterDeath targetDeathState = attack.Target.characterStateController.CurrentState as CharacterDeath;

                            if (CONTROL_MECHANISM.IsFacingForward())
                            {
                                targetDeathState.CONTROL_MECHANISM.transform.rotation = Quaternion.Euler(new Vector3(0f, 180f, 0f));
                            }
                            else
                            {
                                targetDeathState.CONTROL_MECHANISM.transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, 0f));
                            }

                            targetDeathState.ProcSpinKickReaction();
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public override void RunFixedUpdate()
        {
            MOVEMENT_DATA.Turn = move.GetTurn();

            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (CONTROL_MECHANISM.IsFalling())
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                    return;
                }

                if (UpdateWalk())
                {
                    return;
                }
            }
            else
            {
                if (characterStateController.PrevState.GetType() != typeof(PlayerCrouchSneakLeft))
                {
                    move.MoveForward(MOVEMENT_DATA.CrouchSpeed, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
                }
                else
                {
                    move.MoveForward(MOVEMENT_DATA.WalkSpeed * 0.8f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
                }
            }
        }
Ejemplo n.º 6
0
        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 override void RunLateUpdate()
        {
            if (TargetHead != null)
            {
                NeutralTargetPos   = TargetHead.position - (Vector3.up * 0.25f);
                NeutralTargetPos.z = 0f;

                NeutralNeckPos   = Neck.transform.position;
                NeutralNeckPos.z = 0f;

                NeckDir = NeutralNeckPos - NeutralTargetPos;

                //Debug.Log(NeckDir);

                if (CONTROL_MECHANISM.IsFacingForward())
                {
                    NeckDir += new Vector3(-3f, 0f, 0f);
                }
                else
                {
                    NeckDir += new Vector3(3f, 0f, 0f);
                }

                Neck.transform.LookAt(Neck.transform.position + NeckDir, Vector3.up);
                Head.transform.LookAt(Neck.transform.position + NeckDir, Vector3.up);
                //Neck.forward = NeckDir;
                //Head.forward = NeckDir;
            }
        }
		public override void InitState () {
			ANIMATION_DATA.DesignatedAnimation = PlayerState.PlayerCombo2_3_GroundShock.ToString ();

			CONTROL_MECHANISM.BodyTrailDictionary[BodyTrail.BACK].gameObject.SetActive (false);
			CONTROL_MECHANISM.BodyTrailDictionary[BodyTrail.BACK].gameObject.SetActive (true);

			Vector3 footPos = new Vector3 (CONTROL_MECHANISM.BodyPartDictionary[BodyPart.RIGHT_FOOT].position.x, CONTROL_MECHANISM.BodyPartDictionary[BodyPart.RIGHT_FOOT].position.y + 0.1f, 0f);
			VFX_MANAGER.ShowSimpleEffect (SimpleEffectType.GROUND_SHOCK, footPos);
			VFX_MANAGER.ShowSimpleEffect (SimpleEffectType.GROUND_SMOKE, footPos);

			//CONTROL_MECHANISM.BodyTrailDictionary[BodyTrail.BODY].gameObject.SetActive (false);
			//CONTROL_MECHANISM.BodyTrailDictionary[BodyTrail.BODY].gameObject.SetActive (true);

			//comboTransition.Reset ();

			attack.AttackAnimationMotionTriggered = false;
			CONTROL_MECHANISM.RIGIDBODY.AddForce (Vector3.up * 200f);

			CameraOffsetType camOffsetType = CameraOffsetType.ZOOM_ON_GROUND_SHOCK_LEFT;
			if (!CONTROL_MECHANISM.IsFacingForward ()) {
				camOffsetType = CameraOffsetType.ZOOM_ON_GROUND_SHOCK_RIGHT;
			}
			CAMERA_MANAGER.gameCam.SetOffset (camOffsetType, 0.65f);
			CAMERA_MANAGER.gameCam.playerFollow.SetFollow (PlayerFollowType.FOCUS_ON_HEAD);
			Time.timeScale = 0.45f;
		}
Ejemplo n.º 9
0
 public override void ClearState()
 {
     CONTROL_MECHANISM.RIGIDBODY.useGravity = true;
     IsDiving               = false;
     DiveChecked            = false;
     StopAnimationTriggered = false;
     CONTROL_MECHANISM.TriggerColliderControl(DynamicColliderType.DEFAULT);
 }
Ejemplo n.º 10
0
 public override void InitState()
 {
     ANIMATION_DATA.DesignatedAnimation = PlayerState.JumpOver.ToString();
     IsDiving = false;
     StopAnimationTriggered = false;
     CONTROL_MECHANISM.RIGIDBODY.useGravity = false;
     CONTROL_MECHANISM.RIGIDBODY.AddForce(Vector3.up * 17.5f);
     CONTROL_MECHANISM.TriggerColliderControl(DynamicColliderType.JumpOver);
 }
Ejemplo n.º 11
0
 public override void RunFixedUpdate()
 {
     if (ANIMATION_DATA.AnimationNameMatches)
     {
         if (CONTROL_MECHANISM.IsFalling())
         {
             characterStateController.ChangeState((int)PlayerState.FallALoop);
             return;
         }
     }
 }
Ejemplo n.º 12
0
 private void SetDefaultTilt()
 {
     if (CONTROL_MECHANISM.IsFacingForward())
     {
         ANIMATION_DATA.characterAnimator.transform.eulerAngles = new Vector3(0, 90f, 0);
     }
     else
     {
         ANIMATION_DATA.characterAnimator.transform.eulerAngles = new Vector3(0, -90f, 0);
     }
 }
Ejemplo n.º 13
0
        private void UpdateFallTilt()
        {
            float forwardLook = -1f;

            if (!CONTROL_MECHANISM.IsFacingForward())
            {
                forwardLook = 1f;
            }
            if (ANIMATION_DATA.characterAnimator.transform.eulerAngles.x >= 12.5f * forwardLook)
            {
                ANIMATION_DATA.characterAnimator.transform.Rotate(Vector3.forward * Time.deltaTime * 15f * forwardLook, Space.World);
            }
        }
Ejemplo n.º 14
0
 public override void RunFixedUpdate()
 {
     if (ANIMATION_DATA.AnimationNameMatches)
     {
         if (CONTROL_MECHANISM.IsFalling())
         {
             characterStateController.ChangeState((int)PlayerState.FallALoop);
             return;
         }
         UpdateCrouchWalk();
     }
     else
     {
         MOVEMENT_DATA.Turn = move.GetTurn();
         move.MoveForward(MOVEMENT_DATA.CrouchSpeed, MOVEMENT_DATA.Turn);
     }
 }
Ejemplo n.º 15
0
        public override void RunFixedUpdate()
        {
            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (CONTROL_MECHANISM.IsFalling())
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                    return;
                }

                slowDown.SlowDownToStop();
            }
            else
            {
                move.MoveForward(MOVEMENT_DATA.RunSpeed * 1.125f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
            }
        }
Ejemplo n.º 16
0
 bool IsPastWayPoint()
 {
     if (CONTROL_MECHANISM.IsFacingForward())
     {
         if (CONTROL_MECHANISM.transform.position.x > AI_CONTROL.GetNextWayPoint().transform.position.x)
         {
             return(true);
         }
     }
     else
     {
         if (CONTROL_MECHANISM.transform.position.x < AI_CONTROL.GetNextWayPoint().transform.position.x)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 17
0
        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 override void RunFrameUpdate()
 {
     if (UpdateAnimation())
     {
         //Debug.Log (ANIMATION_DATA.PlayTime);
         if (DurationTimePassed())
         {
             if (MOVEMENT_DATA.IsGrounded)
             {
                 CONTROL_MECHANISM.ClearVelocity();
                 characterStateController.ChangeState((int)PlayerState.FallingToLanding);
                 return;
             }
             else
             {
                 characterStateController.ChangeState((int)PlayerState.FallALoop);
                 return;
             }
         }
     }
 }
Ejemplo n.º 19
0
        public override void RunFixedUpdate()
        {
            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (CONTROL_MECHANISM.IsFalling())
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                    return;
                }

                if (!MOVEMENT_DATA.IsGrounded)
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                }
                slowDown.SlowDownToStop();
                UpdateTurn();
            }
            else
            {
                move.MoveWithoutTurning(slowDown.GetBaseSpeed(), CHARACTER_TRANSFORM.rotation.eulerAngles.y);
            }
        }
Ejemplo n.º 20
0
        public override void RunFixedUpdate()
        {
            if (ANIMATION_DATA.AnimationNameMatches)
            {
                CheckDive();
                CommitDive();
                DashBeforeRoll();
                Roll();

                if (ANIMATION_DATA.PlayTime > FallTime)
                {
                    if (!move.IsGoingToLand())
                    {
                        if (CONTROL_MECHANISM.IsFacingForward())
                        {
                            MOVEMENT_DATA.AirMomentum = 3f;
                        }
                        else
                        {
                            MOVEMENT_DATA.AirMomentum = -3f;
                        }

                        //if (IsDiving) {
                        //	if (CONTROL_MECHANISM.IsFalling()){}
                        //}
                    }

                    if (CONTROL_MECHANISM.IsFalling())
                    {
                        characterStateController.ChangeState((int)PlayerState.FallALoop);
                        return;
                    }
                }
            }
            else
            {
                move.MoveForward(MOVEMENT_DATA.RunSpeed * 1.05f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
            }
        }
Ejemplo n.º 21
0
        public override void RunFixedUpdate()
        {
            MOVEMENT_DATA.Turn = move.GetTurn();

            if (ANIMATION_DATA.AnimationNameMatches)
            {
                if (CONTROL_MECHANISM.IsFalling())
                {
                    characterStateController.ChangeState((int)PlayerState.FallALoop);
                    return;
                }

                if (MOVEMENT_DATA.Turn != CHARACTER_TRANSFORM.rotation.eulerAngles.y)
                {
                    CHARACTER_TRANSFORM.rotation = Quaternion.Euler(0, MOVEMENT_DATA.Turn, 0);
                }
            } //else {
              //if (characterStateController.PrevState.GetType () == typeof (PlayerCombo1_3)) {
              //    move.MoveForward (MOVEMENT_DATA.RunSpeed * 0.225f, CHARACTER_TRANSFORM.rotation.eulerAngles.y);
              //}
              //}
        }
Ejemplo n.º 22
0
        private bool RollAfterJump()
        {
            if (MOVEMENT_DATA.AirMomentum < 4.8f)
            {
                return(false);
            }

            if (CONTROL_MECHANISM.IsFacingForward())
            {
                if (MOVEMENT_DATA.MoveForward)
                {
                    return(true);
                }
            }
            else if (!CONTROL_MECHANISM.IsFacingForward())
            {
                if (MOVEMENT_DATA.MoveBack)
                {
                    return(true);
                }
            }
            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);
			}
		}
Ejemplo n.º 24
0
 public override void ClearState()
 {
     MOVEMENT_DATA.AirMomentum = 0f;
     CONTROL_MECHANISM.ClearVelocity();
 }
Ejemplo n.º 25
0
 public override void InitState()
 {
     ANIMATION_DATA.DesignatedAnimation = PlayerState.HumanoidIdle.ToString();
     CONTROL_MECHANISM.ClearVelocity();
 }
Ejemplo n.º 26
0
        public override void InitState()
        {
            SetDefaultLocalPos();
            ANIMATION_DATA.characterAnimator.runtimeAnimatorController = characterStateController.DeathAnimator;
            CONTROL_MECHANISM.RIGIDBODY.useGravity = true;
            SpinKickReactionTriggered = false;

            if (characterStateController.DeathCause.Contains("Jab"))
            {
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 0f);
            }
            else if (characterStateController.DeathCause.Contains("Uppercut"))
            {
                CONTROL_MECHANISM.ClearVelocity();
                CONTROL_MECHANISM.RIGIDBODY.AddForce(Vector3.up * 300f);

                ShowHitEffect(BodyPart.RIGHT_HAND);
                CAMERA_MANAGER.ShakeCamera(0.4f);

                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 1f);
            }
            else if (characterStateController.DeathCause.Contains("Axe"))
            {
                CAMERA_MANAGER.gameCam.SetOffset(CameraOffsetType.ZOOM_ON_PLAYER_DEATH_RIGHT_SIDE, 0.2f);
                Time.timeScale = 0.35f;
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 2f);
            }
            else if (characterStateController.DeathCause.Contains("Collateral"))
            {
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 0f);
            }
            else if (characterStateController.DeathCause.Contains("RunningKick"))
            {
                ShowHitEffect(BodyPart.RIGHT_FOOT);
                CAMERA_MANAGER.ShakeCamera(0.4f);
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 4f);
            }
            else if (characterStateController.DeathCause.Contains("Stomp"))
            {
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 5f);
            }
            else if (characterStateController.DeathCause.Contains("Combo1_1"))
            {
                ShowHitEffect(BodyPart.RIGHT_HAND);
                CAMERA_MANAGER.ShakeCamera(0.4f);
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 2f);
            }
            else if (characterStateController.DeathCause.Contains("Combo1_2"))
            {
                ShowHitEffect(BodyPart.RIGHT_HAND);
                CAMERA_MANAGER.ShakeCamera(0.4f);
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 6f);
            }
            else if (characterStateController.DeathCause.Contains("GroundShock"))
            {
                CONTROL_MECHANISM.RIGIDBODY.AddForce(Vector3.up * 160f);
                int[] gsDeaths = { /*7,*/ 8, /*9*/ };
                int   index    = Random.Range((int)0, (int)gsDeaths.Length - 1);
                float d        = (float)gsDeaths[index];
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, d);
            }
            else
            {
                ANIMATION_DATA.characterAnimator.SetFloat(ParameterString, 2f);
            }

            if (collateral != null)
            {
                collateral.CollateralAIs.Clear();
            }
        }