54. Get All Asset Tags
This commit is contained in:
parent
c4e40037ed
commit
e8fb014d29
BIN
Project/Binaries/Win64/UnrealEditor-GasaEditor.dll
(Stored with Git LFS)
BIN
Project/Binaries/Win64/UnrealEditor-GasaEditor.dll
(Stored with Git LFS)
Binary file not shown.
BIN
Project/Content/Core/AbilitySystem/GE_AreaFire.uasset
(Stored with Git LFS)
BIN
Project/Content/Core/AbilitySystem/GE_AreaFire.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Project/Content/Core/BP_AreaFire_RawEffect.uasset
(Stored with Git LFS)
BIN
Project/Content/Core/BP_AreaFire_RawEffect.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Project/Content/Core/Game/BP_HUD.uasset
(Stored with Git LFS)
BIN
Project/Content/Core/Game/BP_HUD.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
Project/Content/Levels/StartupMap.umap
(Stored with Git LFS)
BIN
Project/Content/Levels/StartupMap.umap
(Stored with Git LFS)
Binary file not shown.
@ -1,6 +1,16 @@
|
|||||||
#include "GasaAbilitySystemComponent.h"
|
#include "GasaAbilitySystemComponent.h"
|
||||||
|
|
||||||
#include "Engine/Engine.h"
|
#include "Engine/Engine.h"
|
||||||
|
#include "Engine/GameViewportClient.h"
|
||||||
|
#include "Game/GasaGameState.h"
|
||||||
|
#include "Game/GasaPlayerController.h"
|
||||||
|
#include "GameFramework/HUD.h"
|
||||||
|
#include "Slate/SceneViewport.h"
|
||||||
|
#include "UI/GasaHUD.h"
|
||||||
|
#include "CogDebugDraw.h"
|
||||||
|
|
||||||
|
|
||||||
|
using namespace Gasa;
|
||||||
|
|
||||||
void UGasaAbilitySystemComp::OnAbilityActorInfoSet()
|
void UGasaAbilitySystemComp::OnAbilityActorInfoSet()
|
||||||
{
|
{
|
||||||
@ -9,7 +19,14 @@ void UGasaAbilitySystemComp::OnAbilityActorInfoSet()
|
|||||||
void UGasaAbilitySystemComp::EffectApplied(UAbilitySystemComponent* AbilitySystem, FGameplayEffectSpec const& Spec,
|
void UGasaAbilitySystemComp::EffectApplied(UAbilitySystemComponent* AbilitySystem, FGameplayEffectSpec const& Spec,
|
||||||
FActiveGameplayEffectHandle ActiveEffect)
|
FActiveGameplayEffectHandle ActiveEffect)
|
||||||
{
|
{
|
||||||
GEngine->AddOnScreenDebugMessage(1, 8.f, FColor::Yellow, FString("Effect applied"));
|
FGameplayTagContainer Tags;
|
||||||
|
Spec.GetAllAssetTags(Tags);
|
||||||
|
for (FGameplayTag const& Tag : Tags)
|
||||||
|
{
|
||||||
|
// TODO(Ed): Broadcast the tag to the widget controller
|
||||||
|
FString Msg = FString::Printf(TEXT("GE Tag: %s"), * Tag.ToString());
|
||||||
|
Log(Msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void UGasaAbilitySystemComp::InitAbilityActorInfo(AActor* InOwnerActor, AActor* InAvatarActor)
|
void UGasaAbilitySystemComp::InitAbilityActorInfo(AActor* InOwnerActor, AActor* InAvatarActor)
|
||||||
|
@ -1,147 +0,0 @@
|
|||||||
#include "GasaGameState.h"
|
|
||||||
|
|
||||||
#include "CogAll.h"
|
|
||||||
#include "CogWindowManager.h"
|
|
||||||
#include "GasaPlayerState.h"
|
|
||||||
#include "GasaGameInstance.h"
|
|
||||||
#include "Net/UnrealNetwork.h"
|
|
||||||
#include "Networking/GasaNetLibrary_Inlines.h"
|
|
||||||
using namespace Gasa;
|
|
||||||
|
|
||||||
AGasaGameState::AGasaGameState()
|
|
||||||
{
|
|
||||||
// Enable ticking
|
|
||||||
PrimaryActorTick.bCanEverTick = true;
|
|
||||||
PrimaryActorTick.SetTickFunctionEnable(true);
|
|
||||||
PrimaryActorTick.bStartWithTickEnabled = true;
|
|
||||||
|
|
||||||
// Replication
|
|
||||||
bReplicates = true;
|
|
||||||
bNetLoadOnClient = false;
|
|
||||||
NetDormancy = DORM_Awake;
|
|
||||||
NetCullDistanceSquared = NetCullDist_Default;
|
|
||||||
NetUpdateFrequency = 10.0f;
|
|
||||||
MinNetUpdateFrequency = 1.0f;
|
|
||||||
NetPriority = 5.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma region GameFramework
|
|
||||||
void AGasaGameState::OnGameFrameworkInitialized()
|
|
||||||
{
|
|
||||||
NetLog("Received gameplay framework initialization.");
|
|
||||||
if (IsServer())
|
|
||||||
{
|
|
||||||
if (PlayerArray.Num() > 0)
|
|
||||||
{
|
|
||||||
ListenServerHost = Cast<AGasaPlayerState>(PlayerArray[0]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
NetLog("Was not able to assign HostingPlayer!", ELogV::Error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
BP_OnGameFrameworkInitialized();
|
|
||||||
}
|
|
||||||
#pragma endregion GameFramework
|
|
||||||
|
|
||||||
#pragma region Networking
|
|
||||||
void AGasaGameState::Client_OnRep_OnlinePlayers()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#pragma endregion Networking
|
|
||||||
|
|
||||||
#pragma region Seamless Travel
|
|
||||||
void AGasaGameState::Multicast_R_NotifySeamlessTravelEnd_Implementation()
|
|
||||||
{
|
|
||||||
NetLog("Multicast_R_NotifySeamlessTravelEnd_Implementation");
|
|
||||||
BP_Event_OnSeamlessTravelEnd.Broadcast();
|
|
||||||
Event_OnSeamlessTravelEnd.Broadcast();
|
|
||||||
}
|
|
||||||
#pragma endregion Seamless Travel
|
|
||||||
|
|
||||||
#pragma region GameStateBase
|
|
||||||
void AGasaGameState::HandleBeginPlay()
|
|
||||||
{
|
|
||||||
Super::HandleBeginPlay();
|
|
||||||
NetLog("HandleBeginPlay: Directly called from GM");
|
|
||||||
}
|
|
||||||
|
|
||||||
void AGasaGameState::SeamlessTravelTransitionCheckpoint(bool bToTransitionMap)
|
|
||||||
{
|
|
||||||
Super::SeamlessTravelTransitionCheckpoint(bToTransitionMap);
|
|
||||||
NetLog("SeamlessTravelTransitionCheckpoint");
|
|
||||||
NetLog(FString("ToTransitionMap: ") + FString(bToTransitionMap ? "true" : "false"));
|
|
||||||
|
|
||||||
if (bToTransitionMap)
|
|
||||||
{
|
|
||||||
Event_OnSeamlessTravelStart.Broadcast();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Multicast_R_NotifySeamlessTravelEnd();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#pragma endregion GameStateBase
|
|
||||||
|
|
||||||
#pragma region Actor
|
|
||||||
void AGasaGameState::BeginPlay()
|
|
||||||
{
|
|
||||||
Super::BeginPlay();
|
|
||||||
NetLog("BeginPlay");
|
|
||||||
|
|
||||||
// Notified as initialized here as any possible components should also be initialized by this point.
|
|
||||||
UGasaGameInstance*
|
|
||||||
GI = GetGameInstance<UGasaGameInstance>();
|
|
||||||
GI->Event_OnGameFrameworkInitialized.AddDynamic(this, & ThisClass::OnGameFrameworkInitialized);
|
|
||||||
GI->NotifyGameFrameworkClassReady(EGameFrameworkClassFlag::GameState);
|
|
||||||
|
|
||||||
#if ENABLE_COG
|
|
||||||
CogWindowManager = NewObject<UCogWindowManager>(this);
|
|
||||||
CogWindowManagerRef = CogWindowManager;
|
|
||||||
|
|
||||||
// Add all the built-in windows
|
|
||||||
Cog::AddAllWindows(*CogWindowManager);
|
|
||||||
#endif //ENABLE_COG
|
|
||||||
}
|
|
||||||
|
|
||||||
void AGasaGameState::PostInitializeComponents()
|
|
||||||
{
|
|
||||||
NetLog("PostInitializeComponents");
|
|
||||||
Super::PostInitializeComponents();
|
|
||||||
|
|
||||||
if ( ! GetWorld()->IsEditorWorld() && IsServer())
|
|
||||||
{
|
|
||||||
OnlinePlayers.Empty();
|
|
||||||
#if 0
|
|
||||||
const auto GI = Cast<UGasaGameInstance>(GetGameInstance());
|
|
||||||
if (GI != nullptr)
|
|
||||||
{
|
|
||||||
int32 NumConnections = GI->SessionSettings.bPublicGame
|
|
||||||
? GI->SessionSettings.PublicConnections
|
|
||||||
: GI->SessionSettings.PrivateConnections;
|
|
||||||
OnlinePlayers.Init(nullptr, NumConnections);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void AGasaGameState::Tick(float DeltaSeconds)
|
|
||||||
{
|
|
||||||
Super::Tick(DeltaSeconds);
|
|
||||||
|
|
||||||
#if ENABLE_COG
|
|
||||||
if (CogWindowManager)
|
|
||||||
CogWindowManager->Tick(DeltaSeconds);
|
|
||||||
#endif //ENABLE_COG
|
|
||||||
}
|
|
||||||
#pragma endregion Actor
|
|
||||||
|
|
||||||
#pragma region UObject
|
|
||||||
void AGasaGameState::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
|
||||||
{
|
|
||||||
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
|
|
||||||
|
|
||||||
DOREPLIFETIME(AGasaGameState, ListenServerHost);
|
|
||||||
DOREPLIFETIME(AGasaGameState, OnlinePlayers);
|
|
||||||
}
|
|
||||||
#pragma endregion UObject
|
|
@ -3,6 +3,7 @@
|
|||||||
#include "Networking/GasaNetLibrary_Inlines.h"
|
#include "Networking/GasaNetLibrary_Inlines.h"
|
||||||
|
|
||||||
#include "AbilitySystemComponent.h"
|
#include "AbilitySystemComponent.h"
|
||||||
|
#include "DrawDebugHelpers.h"
|
||||||
#include "Engine/LocalPlayer.h"
|
#include "Engine/LocalPlayer.h"
|
||||||
#include "EnhancedInputComponent.h"
|
#include "EnhancedInputComponent.h"
|
||||||
#include "EnhancedInputSubsystems.h"
|
#include "EnhancedInputSubsystems.h"
|
||||||
@ -66,14 +67,17 @@ void AGasaPlayerController::NetOwner_OnReady()
|
|||||||
if (IsClient())
|
if (IsClient())
|
||||||
ServerRPC_R_NotifyOwningClientReady();
|
ServerRPC_R_NotifyOwningClientReady();
|
||||||
|
|
||||||
|
Cam = GetWorld()->SpawnActor<ACameraMount>(GetDevOptions()->Template_PlayerCamera.Get(), FActorSpawnParameters() );
|
||||||
|
SetViewTarget(Cam);
|
||||||
|
|
||||||
AGasaPlayerState* PS = GetPlayerState();
|
AGasaPlayerState* PS = GetPlayerState();
|
||||||
APlayerCharacter* PlayerChar = GetPawn<APlayerCharacter>();
|
APlayerCharacter* PlayerChar = GetPawn<APlayerCharacter>();
|
||||||
{
|
{
|
||||||
PlayerChar->AbilitySystem = PS->AbilitySystem;
|
PlayerChar->AbilitySystem = PS->AbilitySystem;
|
||||||
PlayerChar->Attributes = PS->Attributes;
|
PlayerChar->Attributes = PS->Attributes;
|
||||||
PlayerChar->AbilitySystem->InitAbilityActorInfo(PS, this);
|
PlayerChar->AbilitySystem->InitAbilityActorInfo(PS, this);
|
||||||
Cam->AttachToActor(PlayerChar, FAttachmentTransformRules::KeepRelativeTransform);
|
|
||||||
}
|
}
|
||||||
|
Cam->AttachToActor(PlayerChar, FAttachmentTransformRules::KeepRelativeTransform);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AGasaPlayerController::OnGameFrameworkInitialized()
|
void AGasaPlayerController::OnGameFrameworkInitialized()
|
||||||
@ -416,15 +420,11 @@ void AGasaPlayerController::BeginPlay()
|
|||||||
void AGasaPlayerController::PostInitializeComponents()
|
void AGasaPlayerController::PostInitializeComponents()
|
||||||
{
|
{
|
||||||
Super::PostInitializeComponents();
|
Super::PostInitializeComponents();
|
||||||
|
|
||||||
Cam = GetWorld()->SpawnActor<ACameraMount>(GetDevOptions()->Template_PlayerCamera.Get(), FActorSpawnParameters() );
|
|
||||||
SetViewTarget(Cam);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AGasaPlayerController::Tick(float DeltaSeconds)
|
void AGasaPlayerController::Tick(float DeltaSeconds)
|
||||||
{
|
{
|
||||||
Super::Tick(DeltaSeconds);
|
Super::Tick(DeltaSeconds);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
switch (HighlightState)
|
switch (HighlightState)
|
||||||
{
|
{
|
||||||
|
@ -84,6 +84,15 @@ public class Gasa : ModuleRules
|
|||||||
PrivateIncludePathModuleNames.AddRange( new string[]
|
PrivateIncludePathModuleNames.AddRange( new string[]
|
||||||
{
|
{
|
||||||
"CogCommon",
|
"CogCommon",
|
||||||
|
"CogAbility",
|
||||||
|
"CogAI",
|
||||||
|
"CogAll",
|
||||||
|
"CogDebug",
|
||||||
|
"CogDebugEditor",
|
||||||
|
"CogEngine",
|
||||||
|
"CogImgui",
|
||||||
|
"CogInput",
|
||||||
|
"CogWindow",
|
||||||
});
|
});
|
||||||
PrivateDependencyModuleNames.AddRange(new string[]
|
PrivateDependencyModuleNames.AddRange(new string[]
|
||||||
{
|
{
|
||||||
|
@ -160,7 +160,8 @@ namespace Gasa
|
|||||||
|
|
||||||
// Works for Unreal 5.4, Win64 MSVC (untested in other scenarios, for now)
|
// Works for Unreal 5.4, Win64 MSVC (untested in other scenarios, for now)
|
||||||
inline
|
inline
|
||||||
void Log( FString Message, EGasaVerbosity Verbosity = EGasaVerbosity::Log
|
void Log( FString Message
|
||||||
|
, EGasaVerbosity Verbosity = EGasaVerbosity::Log
|
||||||
, FLogCategoryBase& Category = LogGasa
|
, FLogCategoryBase& Category = LogGasa
|
||||||
, bool DumpStack = false
|
, bool DumpStack = false
|
||||||
, int32 Line = __builtin_LINE()
|
, int32 Line = __builtin_LINE()
|
||||||
|
@ -20,6 +20,11 @@ void AGasaHUD::InitHostWidget(FWidgetControllerData const* WidgetControllerData)
|
|||||||
HostWidget->AddToViewport();
|
HostWidget->AddToViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AGasaHUD::DrawHUD()
|
||||||
|
{
|
||||||
|
Super::DrawHUD();
|
||||||
|
}
|
||||||
|
|
||||||
#pragma region HUD
|
#pragma region HUD
|
||||||
void AGasaHUD::ShowHUD()
|
void AGasaHUD::ShowHUD()
|
||||||
{
|
{
|
||||||
@ -32,4 +37,9 @@ void AGasaHUD::BeginPlay()
|
|||||||
{
|
{
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AGasaHUD::Tick(float DeltaSeconds)
|
||||||
|
{
|
||||||
|
Super::Tick(DeltaSeconds);
|
||||||
|
}
|
||||||
#pragma endregion Actor
|
#pragma endregion Actor
|
||||||
|
@ -22,10 +22,13 @@ public:
|
|||||||
void InitHostWidget(FWidgetControllerData const* WidgetControllerData);
|
void InitHostWidget(FWidgetControllerData const* WidgetControllerData);
|
||||||
|
|
||||||
#pragma region HUD
|
#pragma region HUD
|
||||||
|
void DrawHUD() override;
|
||||||
void ShowHUD() override;
|
void ShowHUD() override;
|
||||||
#pragma endregion HUD
|
#pragma endregion HUD
|
||||||
|
|
||||||
#pragma region Actor
|
#pragma region Actor
|
||||||
void BeginPlay() override;
|
void BeginPlay() override;
|
||||||
|
|
||||||
|
void Tick(float DeltaSeconds) override;
|
||||||
#pragma endregion Actor
|
#pragma endregion Actor
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user