diff --git a/ArrayEditing/ArrayEditing.csproj b/ArrayEditing/ArrayEditing.csproj
index 641798d..61d228a 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,16 +36,16 @@
-
+
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..dc909d0 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,23 @@ 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)
+ {
+ listSlot.FilterWorldElement()?.World.RunInUpdates(3, () =>
+ {
+ if (listSlot.FilterWorldElement() is null) 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