public void CastAbility(int n) { if (n >= this.Abilities.Count) { return; } if (this.Abilities[n] == null) { return; } if (this.Abilities[n].Ability == null) { return; } if (this.Abilities[n].AbilityTarget == null) { return; } var Ability = this.Abilities[n].Ability; var Target = this.Abilities[n].AbilityTarget; var eventTag = Ability.Tags.AbilityTags.Added.Count > 0 ? Ability.Tags.AbilityTags.Added[0] : new GameplayTag(); var gameplayEventData = new GameplayEventData(); gameplayEventData.EventTag = eventTag; gameplayEventData.Target = Target; // If ability can be activated if (SelfAbilitySystem.TryActivateAbility(Ability)) { // Send gameplay event to this player with information on target etc AbilitySystemStatics.SendGameplayEventToComponent(SelfAbilitySystem, eventTag, gameplayEventData); } }
public void CastAbility2() { var eventTag = Ability2.Tags.AbilityTags.Count > 0 ? Ability2.Tags.AbilityTags[0] : new GameplayTag(); var gameplayEventData = new GameplayEventData(); gameplayEventData.EventTag = eventTag; gameplayEventData.Target = this.Target2; // If ability can be activated if (SelfAbilitySystem.TryActivateAbility(Ability2)) { // Send gameplay event to this player with information on target etc AbilitySystemStatics.SendGameplayEventToComponent(SelfAbilitySystem, eventTag, gameplayEventData); } }