From d06b5ad972e675bb7e87c19e6b20ce93eb3b9340 Mon Sep 17 00:00:00 2001 From: reznok Date: Sun, 17 May 2026 21:52:39 -0700 Subject: [PATCH] fix: move AddImpulse + SetActorLocation declarations to public MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both functions are UFUNCTION(BlueprintCallable) — Blueprint reflection ignores C++ access modifiers, but C++ callers were locked out by the private-block placement. Iliad's combat hit pipeline (UILCombatLibrary:: ProcessAbilityHit) needs to invoke AddImpulse from C++ for the knockback step; without this fix, C2248 access errors block the build. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Public/Components/GMCAbilityComponent.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/GMCAbilitySystem/Public/Components/GMCAbilityComponent.h b/Source/GMCAbilitySystem/Public/Components/GMCAbilityComponent.h index d7015dc..ec7eed5 100644 --- a/Source/GMCAbilitySystem/Public/Components/GMCAbilityComponent.h +++ b/Source/GMCAbilitySystem/Public/Components/GMCAbilityComponent.h @@ -928,6 +928,12 @@ class GMCABILITYSYSTEM_API UGMC_AbilitySystemComponent : public UGameplayTasksCo // (which overwrites ActionTimer from GMCMovementComponent->GetMoveTimestamp()). void TickActiveEffects(float DeltaTime); + UFUNCTION(BlueprintCallable, DisplayName="Add Impulse (Synced Event)", Category = "GMASSyncedEvent") + void AddImpulse(FVector Impulse, bool bVelChange = false); + + UFUNCTION(BlueprintCallable, DisplayName="Set Actor Location (Synced Event)", Category = "GMASSyncedEvent") + void SetActorLocation(FVector Location); + private: // List of filtered tag delegates to call when tags change. TArray> FilteredTagDelegates; @@ -967,13 +973,7 @@ class GMCABILITYSYSTEM_API UGMC_AbilitySystemComponent : public UGameplayTasksCo // Execute an event that is created by the server where execution is synced between server and client UFUNCTION(BlueprintCallable, Category = "GMASSyncedEvent") void ExecuteSyncedEvent(FGMASSyncedEventContainer EventData); - - UFUNCTION(BlueprintCallable, DisplayName="Add Impulse (Synced Event)", Category = "GMASSyncedEvent") - void AddImpulse(FVector Impulse, bool bVelChange = false); - UFUNCTION(BlueprintCallable, DisplayName="Set Actor Location (Synced Event)", Category = "GMASSyncedEvent") - void SetActorLocation(FVector Location); - UPROPERTY() TMap ActiveAbilities;