本文整理汇总了C++中FGAGameEffectHandle::GetEffectPtr方法的典型用法代码示例。如果您正苦于以下问题:C++ FGAGameEffectHandle::GetEffectPtr方法的具体用法?C++ FGAGameEffectHandle::GetEffectPtr怎么用?C++ FGAGameEffectHandle::GetEffectPtr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FGAGameEffectHandle
的用法示例。
在下文中一共展示了FGAGameEffectHandle::GetEffectPtr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InternalApplyEffectByAggregation
void FGAGameEffectContainer::InternalApplyEffectByAggregation(const FGAGameEffectHandle& HandleIn)
{
EGAEffectAggregation Aggregation = HandleIn.GetEffectRef().GameEffect->EffectAggregation;
switch (Aggregation)
{
case EGAEffectAggregation::AggregateByInstigator:
{
TMap<FGAGameEffectHandle, TSharedPtr<FGAGameEffect>>& EffectMap = InstigatorEffects.FindOrAdd(HandleIn.GetContextRef().Instigator.Get());
EffectMap.Add(HandleIn, HandleIn.GetEffectPtr());
TMap<FName, TSet<FGAGameEffectHandle>>& EffectByClass = InstigatorEffectHandles.FindOrAdd(HandleIn.GetContextRef().Instigator.Get());
TSet<FGAGameEffectHandle>& EffectSet = EffectByClass.FindOrAdd(HandleIn.GetEffectSpec()->GetFName());
EffectSet.Add(HandleIn);
break;
}
case EGAEffectAggregation::AggregateByTarget:
{
TSet<FGAGameEffectHandle>& Handles = TargetEffectByType.FindOrAdd(HandleIn.GetEffectSpec()->GetFName());
Handles.Add(HandleIn);
//TargetEffects.Add(HandleIn, HandleIn.GetEffectPtr());
break;
}
}
ActiveEffects.Add(HandleIn, HandleIn.GetEffectPtr());
}