public void Jump() { if (m_curAnimTransition == AnimTransitions.None) { m_curAnimTransition = AnimTransitions.Jumping; } }
void ProcessTestAnimationKeyPresses() { m_attackType = AnimAttackType.None; bool shift = Input.GetKey(KeyCode.LeftShift); bool ctrl = Input.GetKey(KeyCode.LeftControl); if (shift) { if (Input.GetKeyDown(KeyCode.Alpha1)) { m_attackType = AnimAttackType.CastBuff; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { m_attackType = AnimAttackType.CastDamage; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha3)) { m_attackType = AnimAttackType.CastHeal; m_curAnimTransition = AnimTransitions.Attack; } if (Input.GetKeyDown(KeyCode.C)) { if (m_curAnimTransition == AnimTransitions.None) { if (!m_isSitting) { m_curAnimTransition = AnimTransitions.SittingDown; } else { m_curAnimTransition = AnimTransitions.StandingUp; } m_isSitting = !m_isSitting; } } else if (Input.GetKeyDown(KeyCode.X)) { if (m_curAnimTransition == AnimTransitions.None) { if (!m_isDead) { m_curAnimTransition = AnimTransitions.Dying; } else { m_curAnimTransition = AnimTransitions.UnDying; } m_isDead = !m_isDead; } } else if (Input.GetKeyDown(KeyCode.V)) { if (m_curAnimTransition == AnimTransitions.None) { if (!m_isCrouching) { m_curAnimTransition = AnimTransitions.DuckingDown; } else { m_curAnimTransition = AnimTransitions.DuckingUp; } m_isCrouching = !m_isCrouching; } } } //NOTE: Since Unity uses CTRL + KEY in the editor, these will not work else if (ctrl) { if (Input.GetKeyDown(KeyCode.C)) { if (m_curAnimTransition == AnimTransitions.None) { if (!m_isSitting) { m_curAnimTransition = AnimTransitions.SittingDown; } else { m_curAnimTransition = AnimTransitions.StandingUp; } m_isSitting = !m_isSitting; } } } else { if (Input.GetKeyDown(KeyCode.Alpha1)) { m_attackType = AnimAttackType.M1H; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { m_attackType = AnimAttackType.MOH; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha3)) { m_attackType = AnimAttackType.M1HP; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha4)) { m_attackType = AnimAttackType.M2HB; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha5)) { m_attackType = AnimAttackType.M2HS; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha6)) { m_attackType = AnimAttackType.MDragonPunch; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha7)) { m_attackType = AnimAttackType.MEagleStrike; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha8)) { m_attackType = AnimAttackType.MKick; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha9)) { m_attackType = AnimAttackType.MKickFlying; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Alpha0)) { m_attackType = AnimAttackType.MKickRound; m_curAnimTransition = AnimTransitions.Attack; } else if (Input.GetKeyDown(KeyCode.Minus)) { m_attackType = AnimAttackType.MRanged; m_curAnimTransition = AnimTransitions.Attack; } } }
void AnimState() { string animName = characterAnimations[(int)AnimationType.Idle].name; switch (m_curAnimTransition) { case AnimTransitions.Jumping: //Run jump if moving if (m_curState == AnimStates.MovingForward || m_curState == AnimStates.MovingBackward || m_curState == AnimStates.MovingSideWays) { animName = characterAnimations[(int)AnimationType.RunJump].name; m_animTimer = characterAnimations[(int)AnimationType.RunJump].length; } //else just jump else { animName = characterAnimations[(int)AnimationType.Jump].name; m_animTimer = characterAnimations[(int)AnimationType.Jump].length; } break; case AnimTransitions.Attack: #region Attack Breakdown switch (m_attackType) { case AnimAttackType.CastBuff: animName = characterAnimations[(int)AnimationType.CastBuff].name; m_animTimer = characterAnimations[(int)AnimationType.CastBuff].length; break; case AnimAttackType.CastDamage: animName = characterAnimations[(int)AnimationType.CastDamage].name; m_animTimer = characterAnimations[(int)AnimationType.CastDamage].length; break; case AnimAttackType.CastHeal: animName = characterAnimations[(int)AnimationType.CastHeal].name; m_animTimer = characterAnimations[(int)AnimationType.CastHeal].length; break; case AnimAttackType.M1H: animName = characterAnimations[(int)AnimationType.Melee1H].name; m_animTimer = characterAnimations[(int)AnimationType.Melee1H].length; break; case AnimAttackType.M1HP: animName = characterAnimations[(int)AnimationType.Melee1HP].name; m_animTimer = characterAnimations[(int)AnimationType.Melee1HP].length; break; case AnimAttackType.M2HB: animName = characterAnimations[(int)AnimationType.Melee2HB].name; m_animTimer = characterAnimations[(int)AnimationType.Melee2HB].length; break; case AnimAttackType.M2HS: animName = characterAnimations[(int)AnimationType.Melee2HS].name; m_animTimer = characterAnimations[(int)AnimationType.Melee2HS].length; break; case AnimAttackType.MDragonPunch: animName = characterAnimations[(int)AnimationType.MeleeDragonPunch].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeDragonPunch].length; break; case AnimAttackType.MEagleStrike: animName = characterAnimations[(int)AnimationType.MeleeEagleStrike].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeEagleStrike].length; break; case AnimAttackType.MKick: animName = characterAnimations[(int)AnimationType.Kick].name; m_animTimer = characterAnimations[(int)AnimationType.Kick].length; break; case AnimAttackType.MKickFlying: animName = characterAnimations[(int)AnimationType.KickFlying].name; m_animTimer = characterAnimations[(int)AnimationType.KickFlying].length; break; case AnimAttackType.MKickRound: animName = characterAnimations[(int)AnimationType.KickRound].name; m_animTimer = characterAnimations[(int)AnimationType.KickRound].length; break; case AnimAttackType.MOH: animName = characterAnimations[(int)AnimationType.MeleeOffhand].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeOffhand].length; break; case AnimAttackType.MRanged: animName = characterAnimations[(int)AnimationType.Ranged].name; m_animTimer = characterAnimations[(int)AnimationType.Ranged].length; break; } #endregion //animName = characterAnimations[(int)AnimationType.MeleeDragonPunch].name; //m_animTimer = characterAnimations[(int)AnimationType.MeleeDragonPunch].length; break; case AnimTransitions.Dying: animName = characterAnimations[(int)AnimationType.Dead].name; m_animTimer = characterAnimations[(int)AnimationType.Dead].length; m_animComponent.animation["Dead"].speed = 1.0f; break; case AnimTransitions.UnDying: animName = characterAnimations[(int)AnimationType.Dead].name; m_animTimer = characterAnimations[(int)AnimationType.Dead].length; m_animComponent.animation["Dead"].speed = -1.0f; break; case AnimTransitions.SittingDown: animName = characterAnimations[(int)AnimationType.Sit].name; m_animTimer = characterAnimations[(int)AnimationType.Sit].length; m_animComponent.animation["Sit"].speed = 1.0f; break; case AnimTransitions.StandingUp: animName = characterAnimations[(int)AnimationType.Sit].name; m_animTimer = characterAnimations[(int)AnimationType.Sit].length; m_animComponent.animation["Sit"].speed = -1.0f; break; } if (m_curAnimTransition != AnimTransitions.None) { m_animComponent.Play(animName); m_curAnimTransition = AnimTransitions.None; m_curAnimName = animName; } if (m_animTimer > 0) { m_animTimer -= Time.deltaTime; return; } switch (m_curState) { case AnimStates.Idle: if (m_isDead) { animName = characterAnimations[(int)AnimationType.DeadIdle].name; } else if (m_isSitting) { animName = characterAnimations[(int)AnimationType.SitIdle].name; } else if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.CrouchIdle].name; } else { animName = characterAnimations[(int)AnimationType.Idle].name; } break; case AnimStates.Turning: if (m_turnDir == TurningType.ClockWise) { animName = characterAnimations[(int)AnimationType.Turn].name; } else if (m_turnDir == TurningType.CClockWise) { animName = characterAnimations[(int)AnimationType.Turn].name; } break; case AnimStates.Falling: animName = characterAnimations[(int)AnimationType.Fall].name; break; case AnimStates.MovingForward: if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.Sneak].name; m_animComponent.animation["Sneak"].speed = 1.0f; } else { animName = characterAnimations[(int)AnimationType.Run].name; m_animComponent.animation["Run"].speed = 1.0f; } break; case AnimStates.MovingBackward: if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.Sneak].name; m_animComponent.animation["Sneak"].speed = -1.0f; } else { animName = characterAnimations[(int)AnimationType.Run].name; m_animComponent.animation["Run"].speed = -1.0f; } break; } if (m_curAnimName != animName) { m_animComponent.Play(animName); m_curAnimName = animName; } }
void AnimState() { string animName = characterAnimations[(int)AnimationType.Idle].name; switch(m_curAnimTransition) { case AnimTransitions.Jumping: //Run jump if moving if (m_curState == AnimStates.MovingForward || m_curState == AnimStates.MovingBackward || m_curState == AnimStates.MovingSideWays) { animName = characterAnimations[(int)AnimationType.RunJump].name; m_animTimer = characterAnimations[(int)AnimationType.RunJump].length; } //else just jump else { animName = characterAnimations[(int)AnimationType.Jump].name; m_animTimer = characterAnimations[(int)AnimationType.Jump].length; } break; case AnimTransitions.Attack: #region Attack Breakdown switch (m_attackType) { case AnimAttackType.CastBuff: animName = characterAnimations[(int)AnimationType.CastBuff].name; m_animTimer = characterAnimations[(int)AnimationType.CastBuff].length; break; case AnimAttackType.CastDamage: animName = characterAnimations[(int)AnimationType.CastDamage].name; m_animTimer = characterAnimations[(int)AnimationType.CastDamage].length; break; case AnimAttackType.CastHeal: animName = characterAnimations[(int)AnimationType.CastHeal].name; m_animTimer = characterAnimations[(int)AnimationType.CastHeal].length; break; case AnimAttackType.M1H: animName = characterAnimations[(int)AnimationType.Melee1H].name; m_animTimer = characterAnimations[(int)AnimationType.Melee1H].length; break; case AnimAttackType.M1HP: animName = characterAnimations[(int)AnimationType.Melee1HP].name; m_animTimer = characterAnimations[(int)AnimationType.Melee1HP].length; break; case AnimAttackType.M2HB: animName = characterAnimations[(int)AnimationType.Melee2HB].name; m_animTimer = characterAnimations[(int)AnimationType.Melee2HB].length; break; case AnimAttackType.M2HS: animName = characterAnimations[(int)AnimationType.Melee2HS].name; m_animTimer = characterAnimations[(int)AnimationType.Melee2HS].length; break; case AnimAttackType.MDragonPunch: animName = characterAnimations[(int)AnimationType.MeleeDragonPunch].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeDragonPunch].length; break; case AnimAttackType.MEagleStrike: animName = characterAnimations[(int)AnimationType.MeleeEagleStrike].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeEagleStrike].length; break; case AnimAttackType.MKick: animName = characterAnimations[(int)AnimationType.Kick].name; m_animTimer = characterAnimations[(int)AnimationType.Kick].length; break; case AnimAttackType.MKickFlying: animName = characterAnimations[(int)AnimationType.KickFlying].name; m_animTimer = characterAnimations[(int)AnimationType.KickFlying].length; break; case AnimAttackType.MKickRound: animName = characterAnimations[(int)AnimationType.KickRound].name; m_animTimer = characterAnimations[(int)AnimationType.KickRound].length; break; case AnimAttackType.MOH: animName = characterAnimations[(int)AnimationType.MeleeOffhand].name; m_animTimer = characterAnimations[(int)AnimationType.MeleeOffhand].length; break; case AnimAttackType.MRanged: animName = characterAnimations[(int)AnimationType.Ranged].name; m_animTimer = characterAnimations[(int)AnimationType.Ranged].length; break; } #endregion //animName = characterAnimations[(int)AnimationType.MeleeDragonPunch].name; //m_animTimer = characterAnimations[(int)AnimationType.MeleeDragonPunch].length; break; case AnimTransitions.Dying: animName = characterAnimations[(int)AnimationType.Dead].name; m_animTimer = characterAnimations[(int)AnimationType.Dead].length; m_animComponent.animation["Dead"].speed = 1.0f; break; case AnimTransitions.UnDying: animName = characterAnimations[(int)AnimationType.Dead].name; m_animTimer = characterAnimations[(int)AnimationType.Dead].length; m_animComponent.animation["Dead"].speed = -1.0f; break; case AnimTransitions.SittingDown: animName = characterAnimations[(int)AnimationType.Sit].name; m_animTimer = characterAnimations[(int)AnimationType.Sit].length; m_animComponent.animation["Sit"].speed = 1.0f; break; case AnimTransitions.StandingUp: animName = characterAnimations[(int)AnimationType.Sit].name; m_animTimer = characterAnimations[(int)AnimationType.Sit].length; m_animComponent.animation["Sit"].speed = -1.0f; break; } if(m_curAnimTransition != AnimTransitions.None) { m_animComponent.Play(animName); m_curAnimTransition = AnimTransitions.None; m_curAnimName = animName; } if (m_animTimer > 0) { m_animTimer -= Time.deltaTime; return; } switch (m_curState) { case AnimStates.Idle: if (m_isDead) { animName = characterAnimations[(int)AnimationType.DeadIdle].name; } else if (m_isSitting) { animName = characterAnimations[(int)AnimationType.SitIdle].name; } else if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.CrouchIdle].name; } else { animName = characterAnimations[(int)AnimationType.Idle].name; } break; case AnimStates.Turning: if (m_turnDir == TurningType.ClockWise) { animName = characterAnimations[(int)AnimationType.Turn].name; } else if (m_turnDir == TurningType.CClockWise) { animName = characterAnimations[(int)AnimationType.Turn].name; } break; case AnimStates.Falling: animName = characterAnimations[(int)AnimationType.Fall].name; break; case AnimStates.MovingForward: if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.Sneak].name; m_animComponent.animation["Sneak"].speed = 1.0f; } else { animName = characterAnimations[(int)AnimationType.Run].name; m_animComponent.animation["Run"].speed = 1.0f; } break; case AnimStates.MovingBackward: if (m_isCrouching) { animName = characterAnimations[(int)AnimationType.Sneak].name; m_animComponent.animation["Sneak"].speed = -1.0f; } else { animName = characterAnimations[(int)AnimationType.Run].name; m_animComponent.animation["Run"].speed = -1.0f; } break; } if (m_curAnimName != animName) { m_animComponent.Play(animName); m_curAnimName = animName; } }