diff --git a/Content/Characters/Hero1/BP_Hero1.uasset b/Content/Characters/Hero1/BP_Hero1.uasset index dd17129..4aaf588 100644 Binary files a/Content/Characters/Hero1/BP_Hero1.uasset and b/Content/Characters/Hero1/BP_Hero1.uasset differ diff --git a/Content/Characters/_Shared_/BP_Character.uasset b/Content/Characters/_Shared_/BP_Character.uasset index 6c96f99..7291d0f 100644 Binary files a/Content/Characters/_Shared_/BP_Character.uasset and b/Content/Characters/_Shared_/BP_Character.uasset differ diff --git a/Content/Core/Debug/Cheats/GE_Cheat_Big.uasset b/Content/Core/Debug/Cheats/GE_Cheat_Big.uasset index f3e1f37..a691669 100644 Binary files a/Content/Core/Debug/Cheats/GE_Cheat_Big.uasset and b/Content/Core/Debug/Cheats/GE_Cheat_Big.uasset differ diff --git a/Content/Core/Hud/WBP_Effect.uasset b/Content/Core/Hud/WBP_Effect.uasset index e2a95a8..d1f63da 100644 Binary files a/Content/Core/Hud/WBP_Effect.uasset and b/Content/Core/Hud/WBP_Effect.uasset differ diff --git a/Content/Core/Hud/WBP_EffectPanel.uasset b/Content/Core/Hud/WBP_EffectPanel.uasset index 1f11056..af80aba 100644 Binary files a/Content/Core/Hud/WBP_EffectPanel.uasset and b/Content/Core/Hud/WBP_EffectPanel.uasset differ diff --git a/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset b/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset index 59b54cc..39d336d 100644 Binary files a/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset and b/Content/__ExternalActors__/Maps/L_Default/8/EO/J2O30Y8BP1IJGKNHYD8SUY.uasset differ diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityConfig_Alignment.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityConfig_Alignment.cpp index e92f99a..286722e 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityConfig_Alignment.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityConfig_Alignment.cpp @@ -31,7 +31,7 @@ FVector4f UCogAbilityConfig_Alignment::GetEffectColor(const UCogAbilityDataAsset return NeutralColor; } - const FGameplayTagContainer& Tags = Effect.InheritableGameplayEffectTags.CombinedTags; + const FGameplayTagContainer& Tags = Effect.GetAssetTags(); if (Tags.HasTag(Asset->NegativeEffectTag)) { diff --git a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp index cf0d49d..770fe42 100644 --- a/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp +++ b/Plugins/CogAbility/Source/CogAbility/Private/CogAbilityWindow_Effects.cpp @@ -139,8 +139,8 @@ void FCogAbilityWindow_Effects::RenderEffectsTable() bool AlignmentOrder = false; if (Config->SortByAlignment && Asset != nullptr) { - const FGameplayTagContainer& Tags1 = Effect1->InheritableGameplayEffectTags.CombinedTags; - const FGameplayTagContainer& Tags2 = Effect2->InheritableGameplayEffectTags.CombinedTags; + const FGameplayTagContainer& Tags1 = Effect1->GetAssetTags(); + const FGameplayTagContainer& Tags2 = Effect2->GetAssetTags(); const int32 Pos1 = Tags1.HasTag(Asset->PositiveEffectTag) ? 1 : Tags1.HasTag(Asset->NegativeEffectTag) ? -1 : 0; const int32 Pos2 = Tags2.HasTag(Asset->PositiveEffectTag) ? 1 : Tags2.HasTag(Asset->NegativeEffectTag) ? -1 : 0; const int32 Diff = Pos2 - Pos1; @@ -419,7 +419,7 @@ void FCogAbilityWindow_Effects::RenderRemainingTime(const UAbilitySystemComponen //-------------------------------------------------------------------------------------------------------------------------- void FCogAbilityWindow_Effects::RenderStacks(const FActiveGameplayEffect& ActiveEffect, const UGameplayEffect& Effect) { - const int32 CurrentStackCount = ActiveEffect.Spec.StackCount; + const int32 CurrentStackCount = ActiveEffect.Spec.GetStackCount(); if (Effect.StackLimitCount <= 0) { ImGui::Text("0"); diff --git a/Source/CogSample/CogSampleAreaComponent.cpp b/Source/CogSample/CogSampleAreaComponent.cpp index 5eb2955..efd2df2 100644 --- a/Source/CogSample/CogSampleAreaComponent.cpp +++ b/Source/CogSample/CogSampleAreaComponent.cpp @@ -463,9 +463,9 @@ void UCogSampleAreaComponent::RefreshOtherComponentsValues() } else if (UNiagaraComponent* NiagaraComponent = Cast(SceneComponent)) { - NiagaraComponent->SetNiagaraVariableVec3("HalfExtent", HalfExtent); - NiagaraComponent->SetNiagaraVariableFloat("TickRate", TickRate); - NiagaraComponent->SetNiagaraVariableFloat("Duration", Duration); + NiagaraComponent->SetVariableVec3(HalfExtentName, HalfExtent); + NiagaraComponent->SetVariableFloat(TickRateName, TickRate); + NiagaraComponent->SetVariableFloat(DurationName, Duration); } } } diff --git a/Source/CogSample/CogSampleAreaComponent.h b/Source/CogSample/CogSampleAreaComponent.h index 28b73b1..0f34ea0 100644 --- a/Source/CogSample/CogSampleAreaComponent.h +++ b/Source/CogSample/CogSampleAreaComponent.h @@ -100,6 +100,15 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Area") bool OnlyDetectOnAuthority = true; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Area") + FName HalfExtentName = "HalfExtent"; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Area") + FName TickRateName = "TickRate"; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Area") + FName DurationName = "Duration"; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Area") TArray Effects; diff --git a/Source/CogSample/CogSampleCharacter.cpp b/Source/CogSample/CogSampleCharacter.cpp index 408909e..b72b622 100644 --- a/Source/CogSample/CogSampleCharacter.cpp +++ b/Source/CogSample/CogSampleCharacter.cpp @@ -122,12 +122,6 @@ void ACogSampleCharacter::BeginPlay() void ACogSampleCharacter::EndPlay(const EEndPlayReason::Type EndPlayReason) { Super::EndPlay(EndPlayReason); -} - -//-------------------------------------------------------------------------------------------------------------------------- -void ACogSampleCharacter::MarkComponentsAsPendingKill() -{ - Super::MarkComponentsAsPendingKill(); UnregisterFromAbilitySystemEvents(); } @@ -138,7 +132,6 @@ UAbilitySystemComponent* ACogSampleCharacter::GetAbilitySystemComponent() const return AbilitySystem; } - //-------------------------------------------------------------------------------------------------------------------------- void ACogSampleCharacter::PossessedBy(AController* NewController) { diff --git a/Source/CogSample/CogSampleCharacter.h b/Source/CogSample/CogSampleCharacter.h index eacc2e8..d40ed24 100644 --- a/Source/CogSample/CogSampleCharacter.h +++ b/Source/CogSample/CogSampleCharacter.h @@ -105,8 +105,6 @@ public: virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; - virtual void MarkComponentsAsPendingKill() override; - virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override; virtual void PossessedBy(AController* NewController) override; diff --git a/Source/CogSample/CogSampleFunctionLibrary_Gameplay.cpp b/Source/CogSample/CogSampleFunctionLibrary_Gameplay.cpp index 416e11e..d0982f2 100644 --- a/Source/CogSample/CogSampleFunctionLibrary_Gameplay.cpp +++ b/Source/CogSample/CogSampleFunctionLibrary_Gameplay.cpp @@ -490,3 +490,15 @@ void UCogSampleFunctionLibrary_Gameplay::MakeOutgoingSpecs( } } } + +//-------------------------------------------------------------------------------------------------------------------------- +const UGameplayEffectComponent* UCogSampleFunctionLibrary_Gameplay::GetEffectComponent(const UGameplayEffect* Effect, TSubclassOf ClassToFind) +{ + if (Effect == nullptr) + { + return nullptr; + } + + const UGameplayEffectComponent* EffectComponent = Effect->FindComponent(ClassToFind); + return EffectComponent; +} \ No newline at end of file diff --git a/Source/CogSample/CogSampleFunctionLibrary_Gameplay.h b/Source/CogSample/CogSampleFunctionLibrary_Gameplay.h index 22d633d..5b87577 100644 --- a/Source/CogSample/CogSampleFunctionLibrary_Gameplay.h +++ b/Source/CogSample/CogSampleFunctionLibrary_Gameplay.h @@ -88,6 +88,9 @@ public: UFUNCTION(BlueprintCallable) static bool IsDead(const AActor* Actor); + UFUNCTION(BlueprintCallable) + static const UGameplayEffectComponent* GetEffectComponent(const UGameplayEffect* Effect, TSubclassOf ClassToFind); + static void AdjustAttributeForMaxChange(UAbilitySystemComponent* AbilityComponent, FGameplayAttributeData& AffectedAttribute, float OldValue, float NewMaxValue, const FGameplayAttribute& AffectedAttributeProperty); static FCollisionObjectQueryParams ConfigureCollisionObjectParams(const TArray>& ObjectTypes); @@ -109,5 +112,4 @@ public: static void MakeOutgoingSpecs(const AActor* Actor, const TArray>& Effects, const TArray& BakedEffects, TMap, FGameplayEffectSpecHandle>& Result); static APlayerController* GetFirstLocalPlayerController(UObject* WorldContextObject); - }; diff --git a/Source/CogSample/CogSampleGameplayAbility.cpp b/Source/CogSample/CogSampleGameplayAbility.cpp index d1c43f8..958b245 100644 --- a/Source/CogSample/CogSampleGameplayAbility.cpp +++ b/Source/CogSample/CogSampleGameplayAbility.cpp @@ -101,7 +101,7 @@ bool UCogSampleGameplayAbility::CheckCost(const FGameplayAbilitySpecHandle Handl //----------------------------------------------------------------------------------- // Can start ability if it cost stamina and stamina > 0 //----------------------------------------------------------------------------------- - if (CostEffect->InheritableGameplayEffectTags.CombinedTags.HasTag(Tag_Effect_Type_Cost_Stamina)) + if (CostEffect->GetAssetTags().HasTag(Tag_Effect_Type_Cost_Stamina)) { const float Stamina = ActorInfo->AbilitySystemComponent->GetNumericAttribute(UCogSampleAttributeSet_Caster::GetStaminaAttribute()); if (Stamina > 0)