Salty.uproject (UE 5.8) from the Third Person template with class redirects, the SaltyCore and Salty modules, the three build targets, USaltyAssetManager calling InitGlobalData, Config/Tags with the 23 root namespaces, Scripts/run-tests.sh, build.sh and Authoring/create_gym.py, L_Gym, Git LFS attributes and the placeholder test. Template variants kept as reference (D-41). The four Fab packs stay out of the repository for now (~10 GB). The editor serves the engine MCP plugin on 127.0.0.1:8000 through DefaultEditorPerProjectUserSettings.ini. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Interface.h"
|
|
#include "CombatDamageable.generated.h"
|
|
|
|
/**
|
|
* CombatDamageable interface
|
|
* Provides functionality to handle damage, healing, knockback and death
|
|
* Also provides functionality to warn characters of incoming sources of damage
|
|
*/
|
|
UINTERFACE(MinimalAPI, NotBlueprintable)
|
|
class UCombatDamageable : public UInterface
|
|
{
|
|
GENERATED_BODY()
|
|
};
|
|
|
|
class ICombatDamageable
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
/** Handles damage and knockback events */
|
|
UFUNCTION(BlueprintCallable, Category="Damageable")
|
|
virtual void ApplyDamage(float Damage, AActor* DamageCauser, const FVector& DamageLocation, const FVector& DamageImpulse) = 0;
|
|
|
|
/** Handles death events */
|
|
UFUNCTION(BlueprintCallable, Category="Damageable")
|
|
virtual void HandleDeath() = 0;
|
|
|
|
/** Handles healing events */
|
|
UFUNCTION(BlueprintCallable, Category="Damageable")
|
|
virtual void ApplyHealing(float Healing, AActor* Healer) = 0;
|
|
|
|
/** Notifies the actor of impending danger such as an incoming hit, allowing it to react. */
|
|
UFUNCTION(BlueprintCallable, Category="Damageable")
|
|
virtual void NotifyDanger(const FVector& DangerLocation, AActor* DangerSource) = 0;
|
|
};
|