mirror of
https://github.com/Ed94/Cog.git
synced 2026-07-10 11:51:37 -07:00
moved metric to CogDebug
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "Camera/CameraComponent.h"
|
||||
#include "CogDebugLogMacros.h"
|
||||
#include "CogDebugMetric.h"
|
||||
#include "CogSampleAttributeSet_Health.h"
|
||||
#include "CogSampleAttributeSet_Misc.h"
|
||||
#include "CogSampleCharacterMovementComponent.h"
|
||||
@@ -345,26 +346,18 @@ void ACogSampleCharacter::Look(const FInputActionValue& Value)
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void ACogSampleCharacter::OnDamageReceived(float ReceivedDamage, float IncomingDamage, AActor* DamageDealer, const FGameplayEffectSpec& EffectSpec)
|
||||
void ACogSampleCharacter::OnDamageReceived(float MitigatedDamage, float UnmitigatedDamage, AActor* DamageDealer, const FGameplayEffectSpec& EffectSpec)
|
||||
{
|
||||
#if USE_COG
|
||||
FCogInterfaceMetricEventParams Params;
|
||||
Params.Name = "Damage Received";
|
||||
Params.MitigatedValue = ReceivedDamage;
|
||||
Params.UnmitigatedValue = IncomingDamage;
|
||||
OnMetricEventDelegate.Broadcast(Params);
|
||||
FCogDebugMetric::AddMetric(this, "Damage Received", MitigatedDamage, UnmitigatedDamage, false);
|
||||
#endif //USE_COG
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void ACogSampleCharacter::OnDamageDealt(float ReceivedDamage, float IncomingDamage, AActor* DamageReceiver, const FGameplayEffectSpec& EffectSpec)
|
||||
void ACogSampleCharacter::OnDamageDealt(float MitigatedDamage, float UnmitigatedDamage, AActor* DamageReceiver, const FGameplayEffectSpec& EffectSpec)
|
||||
{
|
||||
#if USE_COG
|
||||
FCogInterfaceMetricEventParams Params;
|
||||
Params.Name = "Damage Dealt";
|
||||
Params.MitigatedValue = ReceivedDamage;
|
||||
Params.UnmitigatedValue = IncomingDamage;
|
||||
OnMetricEventDelegate.Broadcast(Params);
|
||||
FCogDebugMetric::AddMetric(this, "Damage Dealt", MitigatedDamage, UnmitigatedDamage, false);
|
||||
#endif //USE_COG
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "ActiveGameplayEffectHandle.h"
|
||||
#include "AttributeSet.h"
|
||||
#include "CogDefines.h"
|
||||
#include "CogInterfaceMetricActor.h"
|
||||
#include "CogInterfaceFilteredActor.h"
|
||||
#include "GameFramework/Character.h"
|
||||
#include "GameplayAbilitySpecHandle.h"
|
||||
@@ -59,7 +58,6 @@ UCLASS(config=Game)
|
||||
class ACogSampleCharacter : public ACharacter
|
||||
, public IAbilitySystemInterface
|
||||
, public ICogInterfacesFilteredActor
|
||||
, public ICogInterfaceMetricActor
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
@@ -70,14 +68,22 @@ public:
|
||||
// ACharacter overrides
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
virtual void BeginPlay();
|
||||
|
||||
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason);
|
||||
|
||||
virtual void MarkComponentsAsPendingKill() override;
|
||||
|
||||
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
||||
|
||||
virtual void PossessedBy(AController* NewController) override;
|
||||
|
||||
virtual FCogInterfaceOnMetricEvent& OnMetricEvent() override { return OnMetricEventDelegate; }
|
||||
virtual bool IsActorFilteringDebug() const override { return true; }
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// IAbilitySystemInterface overrides
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
UFUNCTION(BlueprintPure)
|
||||
UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
void OnAcknowledgePossession(APlayerController* InController);
|
||||
|
||||
void OnDamageReceived(float DamageAmount, float UnmitigatedDamageAmount, AActor* DamageDealer, const FGameplayEffectSpec& EffectSpec);
|
||||
@@ -92,9 +98,8 @@ public:
|
||||
|
||||
UCameraComponent* GetFollowCamera() const { return FollowCamera; }
|
||||
|
||||
UFUNCTION(BlueprintPure)
|
||||
UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// Camera
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
/** Camera boom positioning the camera behind the character */
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
||||
@@ -104,6 +109,9 @@ public:
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
||||
UCameraComponent* FollowCamera;
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// Input
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
/** MappingContext */
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
|
||||
UInputMappingContext* DefaultMappingContext;
|
||||
@@ -131,6 +139,9 @@ public:
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
|
||||
TArray<UInputAction*> ItemActions;
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// Ability
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
UPROPERTY(BlueprintReadOnly, Category = Ability, meta = (AllowPrivateAccess = "true"))
|
||||
UAbilitySystemComponent* AbilitySystem = nullptr;
|
||||
|
||||
@@ -146,31 +157,45 @@ public:
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Ability)
|
||||
TArray<TSubclassOf<UGameplayEffect>> Effects;
|
||||
|
||||
FCogInterfaceOnMetricEvent OnMetricEventDelegate;
|
||||
|
||||
private:
|
||||
|
||||
void InitializeAbilitySystem();
|
||||
|
||||
void ShutdownAbilitySystem();
|
||||
|
||||
void Move(const FInputActionValue& Value);
|
||||
|
||||
void MoveZ(const FInputActionValue& Value);
|
||||
|
||||
void Look(const FInputActionValue& Value);
|
||||
|
||||
void OnAbilityInputStarted(const FInputActionValue& Value, int32 Index);
|
||||
|
||||
void OnAbilityInputCompleted(const FInputActionValue& Value, int32 Index);
|
||||
|
||||
void ActivateItem(const FInputActionValue& Value, int32 Index);
|
||||
|
||||
void OnGameplayEffectAdded(UAbilitySystemComponent* AbilitySystemComponent, const FGameplayEffectSpec& GameplayEffectSpec, FActiveGameplayEffectHandle Handle);
|
||||
|
||||
void OnGameplayEffectRemoved(const FActiveGameplayEffect& RemovedGameplayEffect);
|
||||
|
||||
void OnGhostTagNewOrRemoved(const FGameplayTag InTag, int32 NewCount);
|
||||
|
||||
void OnScaleAttributeChanged(const FOnAttributeChangeData& Data);
|
||||
|
||||
UPROPERTY(Replicated, Transient)
|
||||
TArray<FGameplayAbilitySpecHandle> ActiveAbilityHandles;
|
||||
|
||||
FDelegateHandle GameplayEffectAddedHandle;
|
||||
|
||||
FDelegateHandle GameplayEffectRemovedHandle;
|
||||
|
||||
FDelegateHandle GhostTagDelegateHandle;
|
||||
|
||||
FDelegateHandle ScaleAttributeDelegateHandle;
|
||||
|
||||
bool bIsGhost = false;
|
||||
|
||||
bool bIsInitialized = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "CogAbilityWindow_Attributes.h"
|
||||
#include "CogAbilityWindow_Cheats.h"
|
||||
#include "CogAbilityWindow_Effects.h"
|
||||
#include "CogAbilityWindow_Metrics.h"
|
||||
#include "CogAbilityWindow_Pools.h"
|
||||
#include "CogAbilityWindow_Tags.h"
|
||||
#include "CogAbilityWindow_Tweaks.h"
|
||||
@@ -33,11 +32,12 @@
|
||||
#include "CogEngineWindow_LogCategories.h"
|
||||
#include "CogEngineWindow_NetEmulation.h"
|
||||
#include "CogEngineWindow_OutputLog.h"
|
||||
#include "CogEngineWindow_Metrics.h"
|
||||
#include "CogEngineWindow_Plots.h"
|
||||
#include "CogEngineWindow_Scalability.h"
|
||||
#include "CogEngineWindow_Selection.h"
|
||||
#include "CogEngineWindow_Skeleton.h"
|
||||
#include "CogEngineWindow_Spawn.h"
|
||||
#include "CogEngineWindow_Spawns.h"
|
||||
#include "CogEngineWindow_Stats.h"
|
||||
#include "CogEngineWindow_Time.h"
|
||||
#include "CogImguiModule.h"
|
||||
@@ -160,29 +160,22 @@ void ACogSampleGameState::InitializeCog()
|
||||
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Plots>("Engine.Plots");
|
||||
|
||||
UCogEngineWindow_Selection* SelectionWindow = CogWindowManager->CreateWindow<UCogEngineWindow_Selection>("Engine.Selection");
|
||||
SelectionWindow->SetActorSubClasses({ AActor::StaticClass(), AGameModeBase::StaticClass(), AGameStateBase::StaticClass(), ACharacter::StaticClass() });
|
||||
SelectionWindow->SetCurrentActorSubClass(ACharacter::StaticClass());
|
||||
SelectionWindow->SetTraceType(UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Pawn));
|
||||
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Scalability>("Engine.Scalability");
|
||||
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Skeleton>("Engine.Skeleton");
|
||||
|
||||
UCogEngineWindow_Spawn* SpawnWindow =CogWindowManager->CreateWindow<UCogEngineWindow_Spawn>("Engine.Spawn");
|
||||
UCogEngineWindow_Spawns* SpawnWindow =CogWindowManager->CreateWindow<UCogEngineWindow_Spawns>("Engine.Spawns");
|
||||
SpawnWindow->SetSpawnsAsset(GetFirstAssetByClass<UCogEngineDataAsset_Spawns>());
|
||||
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Time>("Engine.Time");
|
||||
|
||||
UCogEngineWindow_Selection* SelectionWindow = CogWindowManager->CreateWindow<UCogEngineWindow_Selection>("Engine.Selection");
|
||||
TArray<TSubclassOf<AActor>> SubClasses
|
||||
{
|
||||
AActor::StaticClass(),
|
||||
AGameModeBase::StaticClass(),
|
||||
AGameStateBase::StaticClass(),
|
||||
ACharacter::StaticClass()
|
||||
};
|
||||
SelectionWindow->SetActorSubClasses(SubClasses);
|
||||
SelectionWindow->SetCurrentActorSubClass(ACharacter::StaticClass());
|
||||
SelectionWindow->SetTraceType(UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Pawn));
|
||||
|
||||
UCogEngineWindow_Stats* StatsWindow = CogWindowManager->CreateWindow<UCogEngineWindow_Stats>("Engine.Stats");
|
||||
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Time>("Engine.Time");
|
||||
|
||||
//---------------------------------------
|
||||
// Abilities
|
||||
//---------------------------------------
|
||||
@@ -194,7 +187,7 @@ void ACogSampleGameState::InitializeCog()
|
||||
UCogAbilityWindow_Cheats* CheatsWindow = CogWindowManager->CreateWindow<UCogAbilityWindow_Cheats>("Gameplay.Cheats");
|
||||
CheatsWindow->CheatsAsset = GetFirstAssetByClass<UCogAbilityDataAsset_Cheats>();
|
||||
|
||||
CogWindowManager->CreateWindow<UCogAbilityWindow_Metrics>("Gameplay.Metrics");
|
||||
CogWindowManager->CreateWindow<UCogEngineWindow_Metrics>("Gameplay.Metrics");
|
||||
|
||||
UCogAbilityWindow_Effects* EffectsWindow = CogWindowManager->CreateWindow<UCogAbilityWindow_Effects>("Gameplay.Effects");
|
||||
EffectsWindow->NegativeEffectTag = Tag_Effect_Alignment_Negative;
|
||||
@@ -222,18 +215,11 @@ void ACogSampleGameState::InitializeCog()
|
||||
//---------------------------------------
|
||||
CogWindowManager->AddMainMenuWidget(SelectionWindow);
|
||||
CogWindowManager->AddMainMenuWidget(StatsWindow);
|
||||
|
||||
CogWindowManager->RebuildMenu();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
void ACogSampleGameState::RenderCog(float DeltaTime)
|
||||
{
|
||||
static bool ShowImGuiDemo = false;
|
||||
if (ShowImGuiDemo)
|
||||
{
|
||||
ImGui::ShowDemoWindow(&ShowImGuiDemo);
|
||||
}
|
||||
CogWindowManager->Render(DeltaTime);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user