本文整理汇总了C++中UAbilitySystemComponent::HandleGameplayEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ UAbilitySystemComponent::HandleGameplayEvent方法的具体用法?C++ UAbilitySystemComponent::HandleGameplayEvent怎么用?C++ UAbilitySystemComponent::HandleGameplayEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UAbilitySystemComponent
的用法示例。
在下文中一共展示了UAbilitySystemComponent::HandleGameplayEvent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SendGameplayEventToActor
void UAbilitySystemBlueprintLibrary::SendGameplayEventToActor(AActor* Actor, FGameplayTag EventTag, FGameplayEventData Payload)
{
if (Actor && !Actor->IsPendingKill())
{
IAbilitySystemInterface* AbilitySystemInterface = Cast<IAbilitySystemInterface>(Actor);
if (AbilitySystemInterface != NULL)
{
UAbilitySystemComponent* AbilitySystemComponent = AbilitySystemInterface->GetAbilitySystemComponent();
if (AbilitySystemComponent != NULL)
{
FScopedPredictionWindow NewScopedWindow(AbilitySystemComponent, true);
AbilitySystemComponent->HandleGameplayEvent(EventTag, &Payload);
}
}
}
}
示例2: SendGameplayEvent
// TODO: polymorphic payload
void UGameplayAbility::SendGameplayEvent(FGameplayTag EventTag, FGameplayEventData Payload)
{
if (NetExecutionPolicy == EGameplayAbilityNetExecutionPolicy::Predictive)
{
Payload.PredictionKey = CurrentActivationInfo.GetPredictionKeyForNewAction();
}
AActor *OwnerActor = Cast<AActor>(GetOuter());
if (OwnerActor)
{
UAbilitySystemComponent* AbilitySystemComponent = OwnerActor->FindComponentByClass<UAbilitySystemComponent>();
if (ensure(AbilitySystemComponent))
{
AbilitySystemComponent->HandleGameplayEvent(EventTag, &Payload);
}
}
}