public override void Perform() { Animation playerAnim = Parent.RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].time = 0; playerAnim.Play(StateDef.PlayerAnimationClipName.OrdinaryAttack1R); //m_duration = playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].length; CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].length, base.Perform); }
public override void Perform() { Debug.logger.Log("SunYuanSkill2 " + this.Level + " power " + this.SkillData.name); Animation playerAnim = Parent.RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].time = 0; playerAnim.Play(StateDef.PlayerAnimationClipName.OrdinaryAttack1R); //m_duration = playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].length; CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.OrdinaryAttack1R].length, base.Perform); }
private void InitStates() { m_stateMachine = new SimpleStateMachine(); this.m_idleState.onEnter = () => { Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.IdleR].time = 0; playerAnim[StateDef.PlayerAnimationClipName.IdleR].wrapMode = WrapMode.Loop; playerAnim.Play(StateDef.PlayerAnimationClipName.IdleR); }; this.m_bufferState.onEnter = () => { m_overlayItemModel.IsBuff = true; Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.ChargeStartR].time = 0; playerAnim[StateDef.PlayerAnimationClipName.ChargeStartR].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.ChargeStartR); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.ChargeStartR].length, () => { m_stateMachine.State = m_idleState; }); }; this.m_debufferState.onEnter = () => { m_overlayItemModel.IsDebuff = true; Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.WinR].time = 0; playerAnim[StateDef.PlayerAnimationClipName.WinR].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.WinR); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.WinR].length, () => { m_stateMachine.State = m_idleState; }); }; this.m_bloodState.onEnter = () => { m_overlayItemModel.IsBlooding = true; Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.HitBellyR].time = 0; playerAnim[StateDef.PlayerAnimationClipName.HitBellyR].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.HitBellyR); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.HitBellyR].length, () => { m_stateMachine.State = m_idleState; }); }; this.m_normalHitState.onEnter = () => { Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.Hit1R].time = 0; playerAnim[StateDef.PlayerAnimationClipName.Hit1R].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.Hit1R); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.Hit1R].length, () => { m_stateMachine.State = m_idleState; }); }; this.m_posionState.onEnter = () => { m_overlayItemModel.IsPoison = true; Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.Hit2R].time = 0; playerAnim[StateDef.PlayerAnimationClipName.Hit2R].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.Hit2R); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.Hit2R].length, () => { m_stateMachine.State = m_idleState; }); }; this.m_pressureState.onEnter = () => { m_overlayItemModel.Pressure += 1; Animation playerAnim = RoleObject.GetComponent <Animation>(); playerAnim[StateDef.PlayerAnimationClipName.HitHardR].time = 0; playerAnim[StateDef.PlayerAnimationClipName.HitHardR].wrapMode = WrapMode.Once; playerAnim.Play(StateDef.PlayerAnimationClipName.HitHardR); CoroutineAgent.DelayOperation(playerAnim[StateDef.PlayerAnimationClipName.HitHardR].length, () => { m_stateMachine.State = m_idleState; }); }; }