コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }