From c03350b4944b97585bb63b69ec8e887b205e5654 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Sat, 23 Aug 2025 16:46:32 +0100
Subject: [PATCH 1/3] net9 and clear proxy list refs
---
ArrayEditing/ArrayEditing.csproj | 12 ++++++------
ArrayEditing/ArrayEditor.cs | 28 +++++++++++++++++++++++-----
Directory.Build.props | 4 ++--
3 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/ArrayEditing/ArrayEditing.csproj b/ArrayEditing/ArrayEditing.csproj
index 2cedb9d..60ba4da 100644
--- a/ArrayEditing/ArrayEditing.csproj
+++ b/ArrayEditing/ArrayEditing.csproj
@@ -9,7 +9,7 @@
ArrayEditing
Array Editing
Banane9, Nytra
- 1.0.1
+ 1.1.0
Adds proxy list UI for editing arrays in inspectors. Also improves the look of list UI a bit.
LGPL-3.0-or-later
https://github.com/ResoniteModdingGroup/ArrayEditing
@@ -36,18 +36,18 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/ArrayEditing/ArrayEditor.cs b/ArrayEditing/ArrayEditor.cs
index 329e89b..771c1b1 100644
--- a/ArrayEditing/ArrayEditor.cs
+++ b/ArrayEditing/ArrayEditor.cs
@@ -1,16 +1,16 @@
using Elements.Core;
-using FrooxEngine.UIX;
+using EnumerableToolkit;
using FrooxEngine;
+using FrooxEngine.UIX;
using HarmonyLib;
using MonkeyLoader.Patching;
+using MonkeyLoader.Resonite;
+using MonkeyLoader.Resonite.UI.Inspectors;
using System;
-using System.Diagnostics.CodeAnalysis;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
-using EnumerableToolkit;
-using MonkeyLoader.Resonite;
-using MonkeyLoader.Resonite.UI.Inspectors;
namespace ArrayEditing
{
@@ -403,6 +403,24 @@ private static bool BuildArray(ISyncArray array, string name, FieldInfo fieldInf
SyncMemberEditorBuilder.BuildList(list, name, listField, ui);
var listSlot = ui.Current;
listSlot.DestroyWhenLocalUserLeaves();
+
+ ClearRefs(listSlot);
+ list.Changed += (IChangeable change) =>
+ {
+ ClearRefs(listSlot);
+ };
+ void ClearRefs(Slot listSlot)
+ {
+ if (listSlot == null || listSlot.IsRemoved) return;
+ listSlot.World.RunInUpdates(3, () =>
+ {
+ if (listSlot == null || listSlot.IsRemoved) return;
+ foreach (var refProxySource in listSlot.GetComponentsInChildren())
+ {
+ refProxySource.Reference.Target = null;
+ }
+ });
+ }
void ArrayDriveCheck(IChangeable changeable)
{
if (((ISyncArray)changeable).IsDriven)
diff --git a/Directory.Build.props b/Directory.Build.props
index 57fe131..e888163 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,7 +1,7 @@
Library
- netstandard2.0
+ net9.0
$(AssemblyTitle).dll
12.0
enable
@@ -38,6 +38,6 @@
C:\Program Files (x86)\Steam\steamapps\common\Resonite
$(HOME)/.steam/steam/steamapps/common/Resonite
D:/Files/Games/Resonite/app
- G:\SteamLibrary\steamapps\common\Resonite
+ G:\SteamLibrary\steamapps\common\Resonite
From 4d17c636d33764bd85a76231610832d30add83c2 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Sat, 23 Aug 2025 20:53:34 +0100
Subject: [PATCH 2/3] Use FilterWorldElement
---
ArrayEditing/ArrayEditor.cs | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/ArrayEditing/ArrayEditor.cs b/ArrayEditing/ArrayEditor.cs
index 771c1b1..dc909d0 100644
--- a/ArrayEditing/ArrayEditor.cs
+++ b/ArrayEditing/ArrayEditor.cs
@@ -411,10 +411,9 @@ private static bool BuildArray(ISyncArray array, string name, FieldInfo fieldInf
};
void ClearRefs(Slot listSlot)
{
- if (listSlot == null || listSlot.IsRemoved) return;
- listSlot.World.RunInUpdates(3, () =>
+ listSlot.FilterWorldElement()?.World.RunInUpdates(3, () =>
{
- if (listSlot == null || listSlot.IsRemoved) return;
+ if (listSlot.FilterWorldElement() is null) return;
foreach (var refProxySource in listSlot.GetComponentsInChildren())
{
refProxySource.Reference.Target = null;
From 59abfbcfd2836402c0b3ca72b6ec9e6d2c91b7c3 Mon Sep 17 00:00:00 2001
From: Nytra <14206961+Nytra@users.noreply.github.com>
Date: Sat, 23 Aug 2025 20:57:53 +0100
Subject: [PATCH 3/3] Update reso packages
---
ArrayEditing/ArrayEditing.csproj | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ArrayEditing/ArrayEditing.csproj b/ArrayEditing/ArrayEditing.csproj
index 0660df0..61d228a 100644
--- a/ArrayEditing/ArrayEditing.csproj
+++ b/ArrayEditing/ArrayEditing.csproj
@@ -45,7 +45,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+