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]); } } } }
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); } } } }