Step 1: the Salty project, two modules, tests and the gym
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>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
0e61a77346
commit
4f2c55cd2a
@@ -0,0 +1,4 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "CombatActivatable.h"
|
||||
@@ -0,0 +1,36 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "UObject/Interface.h"
|
||||
#include "CombatActivatable.generated.h"
|
||||
|
||||
/**
|
||||
* Interactable Interface
|
||||
* Provides a context-agnostic way of activating, deactivating or toggling actors
|
||||
*/
|
||||
UINTERFACE(MinimalAPI, NotBlueprintable)
|
||||
class UCombatActivatable : public UInterface
|
||||
{
|
||||
GENERATED_BODY()
|
||||
};
|
||||
|
||||
class ICombatActivatable
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
/** Toggles the Interactable Actor */
|
||||
UFUNCTION(BlueprintCallable, Category="Activatable")
|
||||
virtual void ToggleInteraction(AActor* ActivationInstigator) = 0;
|
||||
|
||||
/** Activates the Interactable Actor */
|
||||
UFUNCTION(BlueprintCallable, Category="Activatable")
|
||||
virtual void ActivateInteraction(AActor* ActivationInstigator) = 0;
|
||||
|
||||
/** Deactivates the Interactable Actor */
|
||||
UFUNCTION(BlueprintCallable, Category="Activatable")
|
||||
virtual void DeactivateInteraction(AActor* ActivationInstigator) = 0;
|
||||
};
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "CombatAttacker.h"
|
||||
@@ -0,0 +1,36 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "UObject/Interface.h"
|
||||
#include "CombatAttacker.generated.h"
|
||||
|
||||
/**
|
||||
* CombatAttacker Interface
|
||||
* Provides common functionality to trigger attack animation events.
|
||||
*/
|
||||
UINTERFACE(MinimalAPI, NotBlueprintable)
|
||||
class UCombatAttacker : public UInterface
|
||||
{
|
||||
GENERATED_BODY()
|
||||
};
|
||||
|
||||
class ICombatAttacker
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
/** Performs an attack's collision check. Usually called from a montage's AnimNotify */
|
||||
UFUNCTION(BlueprintCallable, Category="Attacker")
|
||||
virtual void DoAttackTrace(FName DamageSourceBone) = 0;
|
||||
|
||||
/** Performs a combo attack's check to continue the string. Usually called from a montage's AnimNotify */
|
||||
UFUNCTION(BlueprintCallable, Category="Attacker")
|
||||
virtual void CheckCombo() = 0;
|
||||
|
||||
/** Performs a charged attack's check to loop the charge animation. Usually called from a montage's AnimNotify */
|
||||
UFUNCTION(BlueprintCallable, Category="Attacker")
|
||||
virtual void CheckChargedAttack() = 0;
|
||||
};
|
||||
@@ -0,0 +1,6 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "CombatDamageable.h"
|
||||
|
||||
// Add default functionality here for any ICombatDamageable functions that are not pure virtual.
|
||||
@@ -0,0 +1,41 @@
|
||||
// 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;
|
||||
};
|
||||
Reference in New Issue
Block a user