添加右键菜单创建BoxShape 资源

This commit is contained in:
997146918 2025-08-29 17:38:44 +08:00
parent 8492dd5448
commit c8a551888d
2 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,32 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "Factory/BagShapeFactory.h"
#include "ProjectFish/DataAsset/BagShapeAsset.h"
UBagShapeFactory::UBagShapeFactory()
{
bCreateNew = true;
bEditAfterNew = true;
SupportedClass = UBagShapeAsset::StaticClass();
}
UObject* UBagShapeFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn)
{
UBagShapeAsset* NewBagShapeAsset = NewObject<UBagShapeAsset>(InParent, Class, Name, Flags | RF_Transactional);
if (NewBagShapeAsset)
{
NewBagShapeAsset->BagWidth = 5;
NewBagShapeAsset->BagHeight = 5;
NewBagShapeAsset->InitializeBagShape();
}
return NewBagShapeAsset;
}
bool UBagShapeFactory::ShouldShowInNewMenu() const
{
return true;
}

View File

@ -0,0 +1,22 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Factories/Factory.h"
#include "BagShapeFactory.generated.h"
/**
*
*/
UCLASS()
class PROJECTFISHEDITOR_API UBagShapeFactory : public UFactory
{
GENERATED_BODY()
public:
UBagShapeFactory();
//interface
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
virtual bool ShouldShowInNewMenu() const override;
};