Added ObjectExtensions functions to deal with ExtensionData dictionaries within the project

This commit is contained in:
Alex
2025-08-21 13:15:44 +01:00
parent 59cf92bbcb
commit f617fa13f2
3 changed files with 53 additions and 4 deletions
@@ -330,7 +330,7 @@ public static class ItemExtensions
/// <returns>Converted SptLootItem</returns>
public static SptLootItem ToLootItem(this Item item)
{
return new SptLootItem
var lootItem = new SptLootItem
{
ComposedKey = null,
Id = item.Id,
@@ -339,9 +339,13 @@ public static class ItemExtensions
ParentId = item.ParentId,
SlotId = item.SlotId,
Location = item.Location,
Desc = item.Desc,
// TODO: re-enable ExtensionData = item.ExtensionData,
Desc = item.Desc
};
if (item.TryGetExtensionData(out var extensionData))
{
lootItem.AddAllToExtensionData(extensionData!);
}
return lootItem;
}
public static ItemLocation? GetParsedLocation(this Item item)
@@ -43,10 +43,11 @@
<!-- Run ExtensionData patch -->
<Exec
ConsoleToMsBuild="true"
Condition="'$(IsPublish)' == 'true'"
Condition="'$(IsPublish)' == 'true' and '$(Configuration)' == 'Release'"
Command="dotnet build -c &quot;$(Configuration)&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/Ceciler.JsonExtensionData.csproj&quot;"
/>
<Exec
Condition="'$(Configuration)' == 'Release'"
ConsoleToMsBuild="true"
Command="dotnet &quot;$(MSBuildProjectDirectory)/../../Ceciler/Ceciler.Launcher.dll&quot; &quot;$(OutDir)SPTarkov.Server.Core.dll&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/bin/$(Configuration)/$(TargetFramework)/Ceciler.JsonExtensionData.dll&quot;"
/>