unify data assets

This commit is contained in:
Arnaud Jamin
2023-10-11 10:33:13 -04:00
parent 3116bbc87f
commit 18d82287aa
22 changed files with 76 additions and 73 deletions
@@ -2,6 +2,7 @@
#include "CogDebugDrawHelper.h"
#include "CogDebugSettings.h"
#include "CogEngineDataAsset.h"
#include "CogImGuiHelper.h"
#include "Components/BoxComponent.h"
#include "Components/CapsuleComponent.h"
@@ -368,7 +369,7 @@ void UCogEngineWindow_Collisions::RenderContent()
}
//--------------------------------------------------------------------------------------------------------------------------
void UCogEngineWindow_Collisions::SetCollisionsAsset(const UCogEngineDataAsset_Collisions* Asset)
void UCogEngineWindow_Collisions::SetAsset(const UCogEngineDataAsset* Asset)
{
if (Asset == nullptr)
{
@@ -1,5 +1,7 @@
#include "CogEngineWindow_Spawns.h"
#include "CogEngineDataAsset.h"
//--------------------------------------------------------------------------------------------------------------------------
void UCogEngineWindow_Spawns::RenderHelp()
{
@@ -2,7 +2,20 @@
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "CogEngineDataAsset_Spawns.generated.h"
#include "CogEngineDataAsset.generated.h"
//--------------------------------------------------------------------------------------------------------------------------
USTRUCT()
struct COGENGINE_API FCogCollisionChannel
{
GENERATED_BODY()
UPROPERTY(EditAnywhere)
TEnumAsByte<ECollisionChannel> Channel = ECollisionChannel::ECC_WorldStatic;
UPROPERTY(EditAnywhere)
FLinearColor Color = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f);
};
//--------------------------------------------------------------------------------------------------------------------------
USTRUCT()
@@ -35,12 +48,17 @@ struct COGENGINE_API FCogEngineSpawnGroup
//--------------------------------------------------------------------------------------------------------------------------
UCLASS(Blueprintable)
class COGENGINE_API UCogEngineDataAsset_Spawns : public UPrimaryDataAsset
class COGENGINE_API UCogEngineDataAsset : public UPrimaryDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, meta = (TitleProperty = "Name"))
UCogEngineDataAsset() {}
UPROPERTY(Category = "Spawns", EditAnywhere, meta = (TitleProperty = "Name"))
TArray<FCogEngineSpawnGroup> SpawnGroups;
UPROPERTY(Category = "Collisions", EditAnywhere, meta = (TitleProperty = "Channel"))
TArray<FCogCollisionChannel> Channels;
};
@@ -1,32 +0,0 @@
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "CogEngineDataAsset_Collisions.generated.h"
//--------------------------------------------------------------------------------------------------------------------------
USTRUCT()
struct COGENGINE_API FCogCollisionChannel
{
GENERATED_BODY()
UPROPERTY(EditAnywhere)
TEnumAsByte<ECollisionChannel> Channel = ECollisionChannel::ECC_WorldStatic;
UPROPERTY(EditAnywhere)
FLinearColor Color = FLinearColor(0.5f, 0.5f, 0.5f, 1.0f);
};
//--------------------------------------------------------------------------------------------------------------------------
UCLASS(Blueprintable)
class COGENGINE_API UCogEngineDataAsset_Collisions : public UPrimaryDataAsset
{
GENERATED_BODY()
public:
UCogEngineDataAsset_Collisions() {}
UPROPERTY(EditAnywhere, meta = (TitleProperty = "Channel"))
TArray<FCogCollisionChannel> Channels;
};
@@ -15,7 +15,7 @@ public:
UCogEngineWindow_Collisions();
void SetCollisionsAsset(const UCogEngineDataAsset_Collisions* Asset);
void SetAsset(const UCogEngineDataAsset* Asset);
private:
@@ -29,7 +29,7 @@ private:
FColor Color;
};
TWeakObjectPtr<UCogEngineDataAsset_Collisions> CollisionsAsset;
TWeakObjectPtr<UCogEngineDataAsset> CollisionsAsset;
FChannel Channels[ECC_MAX];
@@ -4,7 +4,7 @@
#include "CogWindow.h"
#include "CogEngineWindow_Spawns.generated.h"
class UCogEngineDataAsset_Spawns;
class UCogEngineDataAsset;
struct FCogEngineSpawnGroup;
UCLASS()
@@ -14,9 +14,9 @@ class COGENGINE_API UCogEngineWindow_Spawns : public UCogWindow
public:
const UCogEngineDataAsset_Spawns* GetSpawnsAsset() const { return SpawnAsset; }
const UCogEngineDataAsset* GetSpawnsAsset() const { return SpawnAsset; }
void SetSpawnsAsset(const UCogEngineDataAsset_Spawns* Value) { SpawnAsset = Value; }
void SetAsset(const UCogEngineDataAsset* Value) { SpawnAsset = Value; }
protected:
@@ -30,5 +30,5 @@ protected:
private:
const UCogEngineDataAsset_Spawns* SpawnAsset = nullptr;
const UCogEngineDataAsset* SpawnAsset = nullptr;
};