diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml index adaae68..ce4820e 100644 --- a/.gitea/workflows/main.yaml +++ b/.gitea/workflows/main.yaml @@ -5,9 +5,9 @@ on: - "*" env: MOD_NAME: "RefinedRDApi" - MOD_ID: "" # TBD - SML_DIR: "E:/SF/SML" - ENGINE_DIR: "F:/5.2.1-CSS" + MOD_ID: "7q2RnptXynYzEX" + SML_DIR: "S:/SF/SML" + ENGINE_DIR: "F:/5.3.2-CSS" BUILT_MODS_DIR: "${{ gitea.workspace }}/BuiltMods" DEV_BUILDS_DIR: "${{ gitea.workspace }}/DevBuilds" jobs: @@ -24,16 +24,16 @@ jobs: run: | cd ${{env.SML_DIR}} if ((Test-Path ${{env.SML_DIR}}/Plugins/Wwise) -eq $true){ echo "WWise already Installed Skipping.."; exit 0 } - E:/SF/Scripts/wwise-cli.exe integrate-ue --integration-version "2022.1.5.2714" --project "${{env.SML_DIR}}/FactoryGame.uproject" + S:/SF/Scripts/wwise-cli.exe integrate-ue --integration-version "2022.1.5.2714" --project "${{env.SML_DIR}}/FactoryGame.uproject" - name: "SML Headers" run: | - cd E:/SF/Scripts/sml-fixer + cd S:/SF/Scripts/sml-fixer ./sml-fixer.exe PullMods: needs: Setup strategy: matrix: - value: ["RefinedRDLib"] + value: ["RefinedRDApi"] runs-on: windows-2022 defaults: run: @@ -52,7 +52,7 @@ jobs: needs: PullMods strategy: matrix: - value: ["RefinedRDLib"] + value: ["RefinedRDApi"] runs-on: windows-2022 defaults: run: @@ -95,7 +95,7 @@ jobs: needs: CompileEditor strategy: matrix: - value: ["RefinedRDLib"] + value: ["RefinedRDApi"] runs-on: windows-2022 defaults: run: @@ -136,5 +136,5 @@ jobs: $File = (Get-ChildItem "${{env.BUILT_MODS_DIR}}/${{env.MOD_NAME}}*").FullName $APIURL="https://api.ficsit.app" write-host "$File, $APIURL" - & "E:/SF/Scripts/ficsit_windows_amd64.exe" smr upload --api-base "$APIURL" --api-key "${{secrets.FICSIT_TOKEN}}" "${{env.MOD_ID}}" "$File" "${{vars.CHANGELOG}}" + & "S:/SF/Scripts/ficsit_windows_amd64.exe" smr upload --api-base "$APIURL" --api-key "${{secrets.FICSIT_TOKEN}}" "${{env.MOD_ID}}" "$File" "${{vars.CHANGELOG}}" echo "Done" diff --git a/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp b/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp index f4c82d4..39fa8b0 100644 --- a/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp +++ b/Source/RefinedRDApi/Private/Subsystems/RRDADataAssetSubsystem.cpp @@ -3,6 +3,7 @@ #include "RefinedRDApi.h" #include "DataAssets/RRDADirtDataAsset.h" #include "Engine/AssetManager.h" +#include "AssetRegistry/AssetRegistryModule.h" URRDADataAssetSubsystem::URRDADataAssetSubsystem() {} @@ -26,7 +27,17 @@ void URRDADataAssetSubsystem::Initialize(FSubsystemCollectionBase& Collection) { Super::Initialize(Collection); - StartScanForDataAssets(); + FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked(FName("AssetRegistry")); + IAssetRegistry& AssetRegistry = AssetRegistryModule.Get(); + // Must wait until all assets are discovered before populating list of assets. + if (AssetRegistry.IsLoadingAssets()) { + AssetRegistry.OnFilesLoaded().AddUObject(this, &URRDADataAssetSubsystem::StartScanForDataAssets); + } + else { + StartScanForDataAssets(); + } + + } void URRDADataAssetSubsystem::Deinitialize() @@ -36,8 +47,26 @@ void URRDADataAssetSubsystem::Deinitialize() void URRDADataAssetSubsystem::StartScanForDataAssets() { - UAssetManager& Manager = UAssetManager::Get(); - Manager.LoadPrimaryAssetsWithType(FPrimaryAssetType("RRDADataAsset")); + /*UAssetManager& Manager = UAssetManager::Get(); + Manager.LoadPrimaryAssetsWithType(FPrimaryAssetType("RRDADataAsset"));*/ + + // Find list of all UStat, and USkill assets in Content Browser. + FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked(FName("AssetRegistry")); + IAssetRegistry& AssetRegistry = AssetRegistryModule.Get(); + + TArray AssetList; + AssetRegistry.GetAssetsByClass(FName("RRDADataAssetBase"), AssetList); + + // Split assets into separate arrays. + for (const FAssetData& Asset : AssetList) { + UObject* Obj = Asset.GetAsset(); + + // Cast the Obj to other data asset classes + if (Obj->GetClass()->IsChildOf(URRDADirtDataAsset::StaticClass())) { + auto DirtDataAsset = Cast(Obj); + mDirtAssets.Add(DirtDataAsset->mItem, DirtDataAsset); + } + } mDisabledDataAssets.Empty(); mAllDataAssets.Empty();