public override bool GetRightHandReloadAnimation(int dataId, out float animSpeedRate, out float[] triggerDurations, out float totalDuration) { HeroEditorActionAnimation animation = defaultAnimations.reloadAnimation; HeroEditorWeaponAnimation weaponAnims; if (TryGetWeaponAnimations(dataId, out weaponAnims)) { animation = weaponAnims.rightHandReloadAnimation; } animSpeedRate = animation.GetAnimSpeedRate(); triggerDurations = animation.GetTriggerDurations(); totalDuration = animation.GetTotalDuration(); return(true); }
public override bool GetSkillActivateAnimation(int dataId, out float animSpeedRate, out float[] triggerDurations, out float totalDuration) { HeroEditorActionAnimation animation = defaultAnimations.skillActivateAnimation; HeroEditorSkillAnimation skillAnims; if (TryGetSkillAnimations(dataId, out skillAnims)) { animation = skillAnims.activateAnimation; } animSpeedRate = animation.GetAnimSpeedRate(); triggerDurations = animation.GetTriggerDurations(); totalDuration = animation.GetTotalDuration(); return(true); }
private IEnumerator PlayActionAnimation_Animator(AnimActionType animActionType, int dataId, int index, float playSpeedMultiplier) { // If animator is not null, play the action animation HeroEditorActionAnimation animation = GetHeroEditorActionAnimation(animActionType, dataId); // Action Animator.SetFloat(ANIM_SPEED, playSpeedMultiplier); Animator.SetTrigger(animation.GetTriggerName()); AudioManager.PlaySfxClipAtAudioSource(animation.GetRandomAudioClip(), genericAudioSource); // Waits by current transition + clip duration before end animation yield return(new WaitForSecondsRealtime(animation.GetClipLength() / playSpeedMultiplier)); // Waits by current transition + extra duration before end playing animation state yield return(new WaitForSecondsRealtime(animation.GetExtraDuration() / playSpeedMultiplier)); }
private HeroEditorActionAnimation GetHeroEditorActionAnimation(AnimActionType animActionType, int dataId) { HeroEditorActionAnimation animation = defaultAnimations.attackAnimation; HeroEditorWeaponAnimation weaponAnimations; HeroEditorSkillAnimation skillAnimations; switch (animActionType) { case AnimActionType.AttackRightHand: if (!TryGetWeaponAnimations(dataId, out weaponAnimations)) { animation = defaultAnimations.attackAnimation; } else { animation = weaponAnimations.rightHandAttackAnimation; } break; case AnimActionType.AttackLeftHand: if (!TryGetWeaponAnimations(dataId, out weaponAnimations)) { animation = defaultAnimations.attackAnimation; } else { animation = weaponAnimations.leftHandAttackAnimation; } break; case AnimActionType.SkillRightHand: case AnimActionType.SkillLeftHand: if (!TryGetSkillAnimations(dataId, out skillAnimations)) { animation = defaultAnimations.skillActivateAnimation; } else { animation = skillAnimations.activateAnimation; } break; case AnimActionType.ReloadRightHand: if (!TryGetWeaponAnimations(dataId, out weaponAnimations)) { animation = defaultAnimations.reloadAnimation; } else { animation = weaponAnimations.rightHandReloadAnimation; } break; case AnimActionType.ReloadLeftHand: if (!TryGetWeaponAnimations(dataId, out weaponAnimations)) { animation = defaultAnimations.reloadAnimation; } else { animation = weaponAnimations.leftHandReloadAnimation; } break; } return(animation); }