第一次提交
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
||||
|
||||
|
||||
#include "Factories/GIS_AssetTypeActions.h"
|
||||
#include "GenericInventoryEditor.h"
|
||||
#include "GIS_CurrencyDefinition.h"
|
||||
#include "GIS_ItemCollection.h"
|
||||
#include "GIS_ItemDefinition.h"
|
||||
#include "GIS_ItemDefinitionSchema.h"
|
||||
#include "GIS_ItemMultiStackCollection.h"
|
||||
#include "GIS_ItemSlotCollection.h"
|
||||
|
||||
|
||||
uint32 FGIS_AssetTypeAction::GetCategories()
|
||||
{
|
||||
return FGenericInventoryEditorModule::GetAssetsCategory();
|
||||
}
|
||||
|
||||
FColor FGIS_AssetTypeAction::GetTypeColor() const
|
||||
{
|
||||
return FColor(114, 40, 199);
|
||||
}
|
||||
|
||||
#define IMPLEMENT_GIS_ASSET_ACTION(ActionName, NameText, DescText) \
|
||||
FText FGIS_AssetTypeAction_##ActionName::GetName() const \
|
||||
{ \
|
||||
return NSLOCTEXT("AssetTypeActions", "AssetTypeActions_" #ActionName "_Name", NameText); \
|
||||
} \
|
||||
FText FGIS_AssetTypeAction_##ActionName::GetAssetDescription(const FAssetData& AssetData) const \
|
||||
{ \
|
||||
return NSLOCTEXT("AssetTypeActions", "AssetTypeActions_" #ActionName "_Description", DescText); \
|
||||
} \
|
||||
UClass* FGIS_AssetTypeAction_##ActionName::GetSupportedClass() const \
|
||||
{ \
|
||||
return UGIS_##ActionName::StaticClass(); \
|
||||
}
|
||||
|
||||
IMPLEMENT_GIS_ASSET_ACTION(ItemDefinition, "Item Definition",
|
||||
"Data Asset that defines your item design.")
|
||||
IMPLEMENT_GIS_ASSET_ACTION(ItemDefinitionSchema, "Item Definition Schema",
|
||||
"Data Asset that defines the validation rules for item definition.")
|
||||
IMPLEMENT_GIS_ASSET_ACTION(ItemCollectionDefinition, "Item Collection Definition(Normal)",
|
||||
"Data Asset that defines the design for normal item collection.")
|
||||
IMPLEMENT_GIS_ASSET_ACTION(ItemSlotCollectionDefinition, "Item Collection Definition(Slot)",
|
||||
"Data Asset that defines the design for slot based item collection.")
|
||||
IMPLEMENT_GIS_ASSET_ACTION(ItemMultiStackCollectionDefinition, "Item Collection Definition(MultiStack)",
|
||||
"Data Asset that defines the design for multi stack based item collection.")
|
||||
IMPLEMENT_GIS_ASSET_ACTION(CurrencyDefinition, "CurrencyDefinition",
|
||||
"Data Asset that defines the in game currency.")
|
||||
@@ -0,0 +1,50 @@
|
||||
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
||||
|
||||
|
||||
#include "Factories/GIS_DataAssetsFactories.h"
|
||||
|
||||
#include "GIS_ItemCollection.h"
|
||||
#include "GIS_ItemDefinition.h"
|
||||
#include "GIS_ItemDefinitionSchema.h"
|
||||
#include "GIS_ItemMultiStackCollection.h"
|
||||
#include "GIS_ItemSlotCollection.h"
|
||||
|
||||
|
||||
#include UE_INLINE_GENERATED_CPP_BY_NAME(GIS_DataAssetsFactories)
|
||||
|
||||
UGIS_Factory::UGIS_Factory(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
|
||||
{
|
||||
bEditAfterNew = true;
|
||||
bCreateNew = true;
|
||||
}
|
||||
|
||||
uint32 UGIS_Factory::GetMenuCategories() const
|
||||
{
|
||||
return Super::GetMenuCategories();
|
||||
}
|
||||
|
||||
const TArray<FText>& UGIS_Factory::GetMenuCategorySubMenus() const
|
||||
{
|
||||
return Super::GetMenuCategorySubMenus();
|
||||
}
|
||||
|
||||
#define IMPLEMENT_GIS_FACTORY(FactoryName) \
|
||||
UGIS_Factory_##FactoryName::UGIS_Factory_##FactoryName(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) \
|
||||
{ \
|
||||
SupportedClass = UGIS_##FactoryName::StaticClass(); \
|
||||
} \
|
||||
UObject* UGIS_Factory_##FactoryName::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) \
|
||||
{ \
|
||||
check(Class->IsChildOf(UGIS_##FactoryName::StaticClass())); \
|
||||
return NewObject<UGIS_##FactoryName>(InParent, Class, Name, Flags | RF_Transactional, Context); \
|
||||
}
|
||||
|
||||
IMPLEMENT_GIS_FACTORY(ItemDefinition)
|
||||
|
||||
IMPLEMENT_GIS_FACTORY(ItemDefinitionSchema)
|
||||
|
||||
IMPLEMENT_GIS_FACTORY(ItemCollectionDefinition)
|
||||
|
||||
IMPLEMENT_GIS_FACTORY(ItemSlotCollectionDefinition)
|
||||
|
||||
IMPLEMENT_GIS_FACTORY(ItemMultiStackCollectionDefinition)
|
||||
Reference in New Issue
Block a user