55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "CoreMinimal.h"
|
||
|
#include "Engine/DataAsset.h"
|
||
|
#include "LyraTeamDisplayAsset.generated.h"
|
||
|
|
||
|
class UMaterialInstanceDynamic;
|
||
|
class UMeshComponent;
|
||
|
class UNiagaraComponent;
|
||
|
class AActor;
|
||
|
class UTexture;
|
||
|
|
||
|
// Represents the display information for team definitions (e.g., colors, display names, textures, etc...)
|
||
|
UCLASS(BlueprintType)
|
||
|
class ULyraTeamDisplayAsset : public UDataAsset
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
|
||
|
public:
|
||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||
|
TMap<FName, float> ScalarParameters;
|
||
|
|
||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||
|
TMap<FName, FLinearColor> ColorParameters;
|
||
|
|
||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||
|
TMap<FName, TObjectPtr<UTexture>> TextureParameters;
|
||
|
|
||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||
|
FText TeamShortName;
|
||
|
|
||
|
public:
|
||
|
UFUNCTION(BlueprintCallable, Category=Teams)
|
||
|
void ApplyToMaterial(UMaterialInstanceDynamic* Material);
|
||
|
|
||
|
UFUNCTION(BlueprintCallable, Category=Teams)
|
||
|
void ApplyToMeshComponent(UMeshComponent* MeshComponent);
|
||
|
|
||
|
UFUNCTION(BlueprintCallable, Category=Teams)
|
||
|
void ApplyToNiagaraComponent(UNiagaraComponent* NiagaraComponent);
|
||
|
|
||
|
UFUNCTION(BlueprintCallable, Category=Teams, meta=(DefaultToSelf="TargetActor"))
|
||
|
void ApplyToActor(AActor* TargetActor, bool bIncludeChildActors = true);
|
||
|
|
||
|
public:
|
||
|
|
||
|
//~UObject interface
|
||
|
#if WITH_EDITOR
|
||
|
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
|
||
|
#endif
|
||
|
//~End of UObject interface
|
||
|
};
|