minor change

This commit is contained in:
Arnaud Jamin
2023-10-18 14:41:40 -04:00
parent db184c4aed
commit 87e87edc13
+18 -9
View File
@@ -244,22 +244,31 @@ void ACogSampleCharacter::InitializeAbilitySystem()
AbilitySystem->GiveAbility(Spec); AbilitySystem->GiveAbility(Spec);
} }
int32 Index = 0; for (int32 i = 0; i < ActiveAbilities.Num(); ++i)
for (FActiveAbilityInfo& AbilityInfo : ActiveAbilities)
{ {
const FActiveAbilityInfo& AbilityInfo = ActiveAbilities[i];
const FGameplayAbilitySpec Spec(AbilityInfo.Ability, 1, INDEX_NONE, this); const FGameplayAbilitySpec Spec(AbilityInfo.Ability, 1, INDEX_NONE, this);
FGameplayAbilitySpecHandle Handle = AbilitySystem->GiveAbility(Spec); const FGameplayAbilitySpecHandle Handle = AbilitySystem->GiveAbility(Spec);
ActiveAbilityHandles.Add(Handle); ActiveAbilityHandles.Add(Handle);
if (FGameplayAbilitySpec* AddedSpec = AbilitySystem->FindAbilitySpecFromHandle(Handle)) const FGameplayAbilitySpec* AddedSpec = AbilitySystem->FindAbilitySpecFromHandle(Handle);
if (AddedSpec == nullptr)
{ {
if (UCogSampleGameplayAbility* Ab = Cast<UCogSampleGameplayAbility>(AddedSpec->GetPrimaryInstance())) continue;
{
Ab->SetCooldownTag(UCogSampleFunctionLibrary_Tag::ActiveAbilityCooldownTags[Index]);
}
} }
Index++; UCogSampleGameplayAbility* Ability = Cast<UCogSampleGameplayAbility>(AddedSpec->GetPrimaryInstance());
if (Ability == nullptr)
{
continue;
}
if (UCogSampleFunctionLibrary_Tag::ActiveAbilityCooldownTags.IsValidIndex(i) == false)
{
continue;
}
Ability->SetCooldownTag(UCogSampleFunctionLibrary_Tag::ActiveAbilityCooldownTags[i]);
} }
UpdateActiveAbilitySlots(); UpdateActiveAbilitySlots();