Beispiel #1
0
        private void animationFinished(object sender, AnimationEventArgs e)
        {
            // Stop cinematics if finished
            string animName = e.AnimData.Name;

            if (_isPlayingStoppingAnimation == false)
            {
                _isPlayingAbility = false;
            }

            _isPlayingStoppingAnimation = false;

            if (CinematicAnimations.ContainsKey(animName))
            {
                _isPlayingCinematic = false;
                SendMessage("UnlockInput");
            }
            if (AbilityStartAnimations.ContainsValue(animName))
            {
                if (_abilities.State != AbilityState.AS_IDLE)
                {
                    if (AbilityIdleAnimations.ContainsKey(_abilities.UsingAbility))
                    {
                        _isPlayingAbility = true;
                        playAnimation(AbilityIdleAnimations[_abilities.UsingAbility]);
                    }
                }
            }
        }
Beispiel #2
0
        private void changeAbilityAnimations(AbilityState newState, string animName)
        {
            if (newState != AbilityState.AS_IDLE)
            {
                if (AbilityStartAnimations.ContainsKey(_abilities.UsingAbility))
                {
                    playAnimation(AbilityStartAnimations[_abilities.UsingAbility]);
                    _isPlayingAbility = true;
                }
                else if (AbilityIdleAnimations.ContainsKey(_abilities.UsingAbility))
                {
                    _isPlayingAbility = true;
                    playAnimation(AbilityIdleAnimations[_abilities.UsingAbility]);
                }

                //if (AbilityStartSounds.ContainsKey(_abilities.UsingAbility))
                //SendMessage("Play", new object[] { AbilityStartSounds[_abilities.UsingAbility] });
                //if (AbilityIdleSounds.ContainsKey(_abilities.UsingAbility))
                //SendMessage("Play", new object[] { AbilityIdleSounds[_abilities.UsingAbility] });
            }
            else
            {
                if (AbilityEndAnimations.ContainsKey(animName))
                {
                    _isPlayingAbility           = true;
                    _isPlayingStoppingAnimation = true;
                    playAnimation(AbilityEndAnimations[animName]);
                }
                else if (!_isPlayingCinematic)
                {
                    _isPlayingAbility = false;
                    SendMessage("StopAnimation");
                    if (_physics != null)
                    {
                        changePhysicsAnimations(_physics.State);
                    }
                }

                if (AbilityEndSounds.ContainsKey(animName))
                {
                    playAnimation(AbilityEndSounds[animName]);
                }
                else if (!_isPlayingCinematic)
                {
                    // SendMessage("Stop");
                    if (_physics != null)
                    {
                        changePhysicsAnimations(_physics.State);
                    }
                }
            }
        }