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,21 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "AnimNotify_CheckChargedAttack.h"
|
||||
#include "CombatAttacker.h"
|
||||
#include "Components/SkeletalMeshComponent.h"
|
||||
|
||||
void UAnimNotify_CheckChargedAttack::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference)
|
||||
{
|
||||
// cast the owner to the attacker interface
|
||||
if (ICombatAttacker* AttackerInterface = Cast<ICombatAttacker>(MeshComp->GetOwner()))
|
||||
{
|
||||
// tell the actor to check for a charged attack loop
|
||||
AttackerInterface->CheckChargedAttack();
|
||||
}
|
||||
}
|
||||
|
||||
FString UAnimNotify_CheckChargedAttack::GetNotifyName_Implementation() const
|
||||
{
|
||||
return FString("Check Charged Attack");
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Animation/AnimNotifies/AnimNotify.h"
|
||||
#include "AnimNotify_CheckChargedAttack.generated.h"
|
||||
|
||||
/**
|
||||
* AnimNotify to perform a charged attack hold check.
|
||||
*/
|
||||
UCLASS()
|
||||
class UAnimNotify_CheckChargedAttack : public UAnimNotify
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
/** Perform the Anim Notify */
|
||||
virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) override;
|
||||
|
||||
/** Get the notify name */
|
||||
virtual FString GetNotifyName_Implementation() const override;
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "AnimNotify_CheckCombo.h"
|
||||
#include "CombatAttacker.h"
|
||||
#include "Components/SkeletalMeshComponent.h"
|
||||
|
||||
void UAnimNotify_CheckCombo::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference)
|
||||
{
|
||||
// cast the owner to the attacker interface
|
||||
if (ICombatAttacker* AttackerInterface = Cast<ICombatAttacker>(MeshComp->GetOwner()))
|
||||
{
|
||||
// tell the actor to check for combo string
|
||||
AttackerInterface->CheckCombo();
|
||||
}
|
||||
}
|
||||
|
||||
FString UAnimNotify_CheckCombo::GetNotifyName_Implementation() const
|
||||
{
|
||||
return FString("Check Combo String");
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Animation/AnimNotifies/AnimNotify.h"
|
||||
#include "AnimNotify_CheckCombo.generated.h"
|
||||
|
||||
/**
|
||||
* AnimNotify to perform a combo string check.
|
||||
*/
|
||||
UCLASS()
|
||||
class UAnimNotify_CheckCombo : public UAnimNotify
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
/** Perform the Anim Notify */
|
||||
virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) override;
|
||||
|
||||
/** Get the notify name */
|
||||
virtual FString GetNotifyName_Implementation() const override;
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
|
||||
#include "AnimNotify_DoAttackTrace.h"
|
||||
#include "CombatAttacker.h"
|
||||
#include "Components/SkeletalMeshComponent.h"
|
||||
|
||||
void UAnimNotify_DoAttackTrace::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference)
|
||||
{
|
||||
// cast the owner to the attacker interface
|
||||
if (ICombatAttacker* AttackerInterface = Cast<ICombatAttacker>(MeshComp->GetOwner()))
|
||||
{
|
||||
AttackerInterface->DoAttackTrace(AttackBoneName);
|
||||
}
|
||||
}
|
||||
|
||||
FString UAnimNotify_DoAttackTrace::GetNotifyName_Implementation() const
|
||||
{
|
||||
return FString("Do Attack Trace");
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Animation/AnimNotifies/AnimNotify.h"
|
||||
#include "AnimNotify_DoAttackTrace.generated.h"
|
||||
|
||||
/**
|
||||
* AnimNotify to tell the actor to perform an attack trace check to look for targets to damage.
|
||||
*/
|
||||
UCLASS()
|
||||
class UAnimNotify_DoAttackTrace : public UAnimNotify
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
protected:
|
||||
|
||||
/** Source bone for the attack trace */
|
||||
UPROPERTY(EditAnywhere, Category="Attack")
|
||||
FName AttackBoneName;
|
||||
|
||||
public:
|
||||
|
||||
/** Perform the Anim Notify */
|
||||
virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) override;
|
||||
|
||||
/** Get the notify name */
|
||||
virtual FString GetNotifyName_Implementation() const override;
|
||||
};
|
||||
Reference in New Issue
Block a user