Commit v.2025

This commit is contained in:
2025-06-17 13:17:17 +02:00
parent d16693c85b
commit efae805ae1
50 changed files with 2123 additions and 0 deletions

View File

@ -0,0 +1,29 @@
using UnrealBuildTool;
public class DTFluxAssetsEditor : ModuleRules
{
public DTFluxAssetsEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"CoreUObject",
"Engine",
"Slate",
"AssetTools",
"SlateCore",
"UnrealEd",
"DTFluxCore",
}
);
}
}

View File

@ -0,0 +1,35 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DTFluxAssetModelTypeActions.h"
#include "Assets/DTFluxModelAsset.h"
void FDTFluxAssetModelTypeActions::OpenAssetEditor(const TArray<UObject*>& InObjects,
TSharedPtr<IToolkitHost> EditWithinLevelEditor)
{
FAssetTypeActions_Base::OpenAssetEditor(InObjects, EditWithinLevelEditor);
}
UClass* FDTFluxAssetModelTypeActions::GetSupportedClass() const
{
return UDTFluxModelAsset::StaticClass();
}
FText FDTFluxAssetModelTypeActions::GetName() const
{
return INVTEXT("DTFlux Model");
}
FColor FDTFluxAssetModelTypeActions::GetTypeColor() const
{
return FColor(231, 81, 67);
}
uint32 FDTFluxAssetModelTypeActions::GetCategories()
{
return Category;
}

View File

@ -0,0 +1,30 @@
#include "DTFluxAssetsEditorModule.h"
#include "IAssetTools.h"
#include "DTFluxAssetModelTypeActions.h"
#include "IAssetTools.h"
#include "AssetToolsModule.h"
#define LOCTEXT_NAMESPACE "FDTFluxAssetsEditorModule"
DTFLUXASSETSEDITOR_API DEFINE_LOG_CATEGORY(logDTFluxAssetEditor)
void FDTFluxAssetsEditorModule::StartupModule()
{
IAssetTools& AssetToolsModule = FModuleManager::GetModuleChecked<FAssetToolsModule>("AssetTools").Get();
EAssetTypeCategories::Type Category = AssetToolsModule.RegisterAdvancedAssetCategory("DTFlux", INVTEXT("DTFlux"));
DTFluxAssetModelActions = MakeShareable(new FDTFluxAssetModelTypeActions(Category));
AssetToolsModule.RegisterAssetTypeActions(DTFluxAssetModelActions.ToSharedRef());
}
void FDTFluxAssetsEditorModule::ShutdownModule()
{
if(DTFluxAssetModelActions.IsValid() && FModuleManager::Get().IsModuleLoaded("AssetTools"))
{
IAssetTools& AssetToolsModule = FModuleManager::GetModuleChecked<FAssetToolsModule>("AssetTools").Get();
AssetToolsModule.UnregisterAssetTypeActions(DTFluxAssetModelActions.ToSharedRef());
}
}
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(FDTFluxAssetsEditorModule, DTFluxAssetsEditor)

View File

@ -0,0 +1,24 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DTFluxModelAssetFactory.h"
#include "Assets/DTFluxModelAsset.h"
UDTFluxModelAssetFactory::UDTFluxModelAssetFactory(const FObjectInitializer& ObjectInitializer)
{
SupportedClass = UDTFluxModelAsset::StaticClass();
}
bool UDTFluxModelAssetFactory::CanCreateNew() const
{
return true;
}
UObject* UDTFluxModelAssetFactory::FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName,
EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn)
{
return NewObject<UDTFluxModelAsset>(InParent, InName, Flags);
}

View File

@ -0,0 +1,24 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "AssetTypeActions_Base.h"
/**
*
*/
class DTFLUXASSETSEDITOR_API FDTFluxAssetModelTypeActions : public FAssetTypeActions_Base
{
public:
FDTFluxAssetModelTypeActions(EAssetTypeCategories::Type InCategory): Category(InCategory){};
public:
UClass* GetSupportedClass() const override;
FText GetName() const override;
FColor GetTypeColor() const override;
uint32 GetCategories() override;
virtual void OpenAssetEditor(const TArray<UObject*>& InObjects, TSharedPtr<IToolkitHost> EditWithinLevelEditor = TSharedPtr<IToolkitHost>()) override;
private:
EAssetTypeCategories::Type Category;
};

View File

@ -0,0 +1,29 @@
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"
/**
* @module DTFluxAssetsEditorModule
* @details DTFlux Project is a framework to integrate all kind of events data from
* multiple API (stopwatch servers, etc...) or manually to unreal motion design platform
* to create live audiovisual shows.
* @brief This module provides all editor and ui tools.
* @license See LICENSE.TXT at the of DTFluxAPI plugin folder or at
* @see https://github.com/A2MSystemes/DTFluxAPI/blob/main/LICENSE
* @author Ange-Marie MAURIN
*/
class FDTFluxAssetModelTypeActions;
DTFLUXASSETSEDITOR_API DECLARE_LOG_CATEGORY_EXTERN(logDTFluxAssetEditor, Log, All);
class FDTFluxAssetsEditorModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void ShutdownModule() override;
private:
TSharedPtr<FDTFluxAssetModelTypeActions> DTFluxAssetModelActions = nullptr;
};

View File

@ -0,0 +1,20 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "DTFluxModelAssetFactory.generated.h"
/**
*
*/
UCLASS()
class DTFLUXASSETSEDITOR_API UDTFluxModelAssetFactory : public UFactory
{
GENERATED_BODY()
public:
UDTFluxModelAssetFactory(const FObjectInitializer& ObjectInitializer);
virtual UObject* FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
virtual bool CanCreateNew() const override;
};