Files
ProjectEleri/Source/ProjectEleriEditor/Private/Eleri/EleriDataAssetDefinitions.cpp

254 lines
7.3 KiB
C++
Raw Normal View History

// Fill out your copyright notice in the Description page of Project Settings.
#include "EleriDataAssetDefinitions.h"
#include "EleriAssetCategory.h"
#include "ProjectEleri/Ai/NpcScheduleAsset.h"
#include "ProjectEleri/Animation/AnimationDataAsset.h"
#include "ProjectEleri/Data/BazarSettingsDataAsset.h"
#include "ProjectEleri/Data/FaceExpressionDataAsset.h"
#include "ProjectEleri/Data/Minigames/BaseMinigameDataAsset.h"
#include "ProjectEleri/Data/NpcDataAsset.h"
#include "ProjectEleri/Data/WeatherPresetDataAsset.h"
#include "ProjectEleri/DialogueSystem/QuestDatabase.h"
#include "ProjectEleri/DialogueSystem/SpeechDataAsset.h"
#include "ProjectEleri/GameEventSystem/GameEventDataAsset.h"
#include "ProjectEleri/Items/DataAssets/ItemDataAsset.h"
#include "ProjectEleri/Items/ItemContainer.h"
#include "ProjectEleri/QuestSystem/QuestDataAsset.h"
#define LOCTEXT_NAMESPACE "EleriDataAssetDefinitions"
/*-----------------------------------------------------------------------------
Shared behaviour
-----------------------------------------------------------------------------*/
TConstArrayView<FAssetCategoryPath> UEleriDataAssetDefinition::GetAssetCategories() const
{
// One entry, the same for every definition in here. It has to outlive the call, because the engine
// keeps the view it is handed rather than copying it.
static const TArray<FAssetCategoryPath> Categories = { EleriAssetCategory::Get() };
return Categories;
}
/*-----------------------------------------------------------------------------
Items
-----------------------------------------------------------------------------*/
FText UEleriItemDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("ItemDataAssetName", "Item");
}
FLinearColor UEleriItemDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.86f, 0.33f, 0.10f);
}
TSoftClassPtr<UObject> UEleriItemDataAssetDefinition::GetAssetClass() const
{
return UItemDataAsset::StaticClass();
}
FText UEleriItemContainerDefinition::GetAssetDisplayName() const
{
return LOCTEXT("ItemContainerName", "Item Container");
}
FLinearColor UEleriItemContainerDefinition::GetAssetColor() const
{
return FLinearColor(0.85f, 0.55f, 0.10f);
}
TSoftClassPtr<UObject> UEleriItemContainerDefinition::GetAssetClass() const
{
return UItemContainer::StaticClass();
}
/*-----------------------------------------------------------------------------
Quests and dialogue
-----------------------------------------------------------------------------*/
FText UEleriQuestDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("QuestDataAssetName", "Quest");
}
FLinearColor UEleriQuestDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.95f, 0.80f, 0.15f);
}
TSoftClassPtr<UObject> UEleriQuestDataAssetDefinition::GetAssetClass() const
{
return UQuestDataAsset::StaticClass();
}
FText UEleriQuestDatabaseDefinition::GetAssetDisplayName() const
{
return LOCTEXT("QuestDatabaseName", "Quest Database");
}
FLinearColor UEleriQuestDatabaseDefinition::GetAssetColor() const
{
return FLinearColor(0.65f, 0.62f, 0.15f);
}
TSoftClassPtr<UObject> UEleriQuestDatabaseDefinition::GetAssetClass() const
{
return UQuestDatabase::StaticClass();
}
FText UEleriSpeechDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("SpeechDataAssetName", "Speech");
}
FLinearColor UEleriSpeechDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.35f, 0.70f, 0.85f);
}
TSoftClassPtr<UObject> UEleriSpeechDataAssetDefinition::GetAssetClass() const
{
return USpeechDataAsset::StaticClass();
}
/*-----------------------------------------------------------------------------
World events and weather
-----------------------------------------------------------------------------*/
FText UEleriGameEventDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("GameEventDataAssetName", "Game Event");
}
FLinearColor UEleriGameEventDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.60f, 0.35f, 0.85f);
}
TSoftClassPtr<UObject> UEleriGameEventDataAssetDefinition::GetAssetClass() const
{
return UGameEventDataAsset::StaticClass();
}
FText UEleriWeatherPresetDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("WeatherPresetDataAssetName", "Weather Preset");
}
FLinearColor UEleriWeatherPresetDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.30f, 0.60f, 0.90f);
}
TSoftClassPtr<UObject> UEleriWeatherPresetDataAssetDefinition::GetAssetClass() const
{
return UWeatherPresetDataAsset::StaticClass();
}
/*-----------------------------------------------------------------------------
Characters
-----------------------------------------------------------------------------*/
FText UEleriFaceExpressionDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("FaceExpressionDataAssetName", "Face Expression");
}
FLinearColor UEleriFaceExpressionDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.95f, 0.55f, 0.70f);
}
TSoftClassPtr<UObject> UEleriFaceExpressionDataAssetDefinition::GetAssetClass() const
{
return UFaceExpressionDataAsset::StaticClass();
}
FText UEleriNpcDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("NpcDataAssetName", "NPC");
}
FLinearColor UEleriNpcDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.30f, 0.75f, 0.55f);
}
TSoftClassPtr<UObject> UEleriNpcDataAssetDefinition::GetAssetClass() const
{
return UNpcDataAsset::StaticClass();
}
FText UEleriNpcScheduleAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("NpcScheduleAssetName", "NPC Schedule");
}
FLinearColor UEleriNpcScheduleAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.20f, 0.60f, 0.45f);
}
TSoftClassPtr<UObject> UEleriNpcScheduleAssetDefinition::GetAssetClass() const
{
return UNpcScheduleAsset::StaticClass();
}
/*-----------------------------------------------------------------------------
Settings, animation and minigames
-----------------------------------------------------------------------------*/
FText UEleriBazarSettingsDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("BazarSettingsDataAssetName", "Bazar Settings");
}
FLinearColor UEleriBazarSettingsDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.80f, 0.45f, 0.25f);
}
TSoftClassPtr<UObject> UEleriBazarSettingsDataAssetDefinition::GetAssetClass() const
{
return UBazarSettingsDataAsset::StaticClass();
}
FText UEleriAnimationDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("AnimationDataAssetName", "Animation");
}
FLinearColor UEleriAnimationDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.45f, 0.45f, 0.85f);
}
TSoftClassPtr<UObject> UEleriAnimationDataAssetDefinition::GetAssetClass() const
{
return UAnimationDataAsset::StaticClass();
}
FText UEleriMinigameDataAssetDefinition::GetAssetDisplayName() const
{
return LOCTEXT("MinigameDataAssetName", "Minigame");
}
FLinearColor UEleriMinigameDataAssetDefinition::GetAssetColor() const
{
return FLinearColor(0.85f, 0.30f, 0.55f);
}
TSoftClassPtr<UObject> UEleriMinigameDataAssetDefinition::GetAssetClass() const
{
// The base class, deliberately: the engine answers for a class with the definition registered for
// its nearest ancestor that has one, so this single entry covers Potion Sort and every minigame
// added after it without any of them having to be listed here.
return UBaseMinigameDataAsset::StaticClass();
}
#undef LOCTEXT_NAMESPACE