private void addStateToTargetIfPersistent(AnimatedAbility ability, AnimatedCharacter target) { if (ability.Persistent) { AnimatableCharacterState newstate = new AnimatableCharacterStateImpl(ability, target); newstate.AbilityAlreadyPlayed = true; target.AddState(newstate); } }
public void AddDefaultState(string defaultState, bool playImmediately = true) { if (Repository.CharacterByName.ContainsKey(HeroVirtualTabletop.AnimatedAbility.DefaultAbilities.CHARACTERNAME)) { AnimatedAbility defaultAbility = Repository?.CharacterByName?[HeroVirtualTabletop.AnimatedAbility.DefaultAbilities.CHARACTERNAME] ?.Abilities?[defaultState]; if (defaultAbility != null) { AnimatableCharacterState state = new AnimatableCharacterStateImpl(defaultAbility, this); AddState(state, playImmediately); } } NotifyOfPropertyChange(() => ActiveStates.Count); }