diff --git a/MonkeyLoader.Resonite.Integration/UI/SyncArrayEditor.cs b/MonkeyLoader.Resonite.Integration/UI/SyncArrayEditor.cs index 6a12102..948ec5e 100644 --- a/MonkeyLoader.Resonite.Integration/UI/SyncArrayEditor.cs +++ b/MonkeyLoader.Resonite.Integration/UI/SyncArrayEditor.cs @@ -245,7 +245,7 @@ private static void AddUpdateProxies(SyncArray> array, point.Changed += syncObject => { var index = list.IndexOfElement(point); - array[index] = new CurveKey(point.Position, point.Value); + array[index] = new CurveKey(point.Position, point.Value, array[index].leftTangent, array[index].rightTangent); }; } } @@ -364,10 +364,18 @@ private static bool Prefix(ISyncArray array, string name, FieldInfo fieldInfo, U } ui.Panel().Slot.GetComponent(); - SyncMemberEditorBuilder.GenerateMemberField(array, name, ui, labelSize); + var memberFieldSlot = SyncMemberEditorBuilder.GenerateMemberField(array, name, ui, labelSize); ui.NestOut(); - SyncMemberEditorBuilder.BuildList(list, name, listField, ui); - ui.Current[ui.Current.ChildrenCount - 1].DestroyWhenLocalUserLeaves(); + if (!array.IsDriven) + { + SyncMemberEditorBuilder.BuildList(list, name, listField, ui); + ui.Current[ui.Current.ChildrenCount - 1].DestroyWhenLocalUserLeaves(); + } + else + { + LocaleString text = "(array is driven)"; + ui.Text(in text); + } return false; }