private void OnInteractiveObjectCreated(object interactiveObject) { ListenableObjectFields.TryGetValue(interactiveObject, out var InteractiveObjectField); if (InteractiveObjectField == null) { InteractiveObjectField = new ListenedObjectField(ObjectFieldParent, interactiveObject, OnInteractiveObjectFieldClicked); ListenableObjectFields.Add(interactiveObject, InteractiveObjectField); ClassHeaderElements.TryGetValue(interactiveObject.GetType().Name, out var header); if (header == null) { header = new VisualElement(); var headerText = new TextElement() { text = interactiveObject.GetType().Name, }; headerText.style.borderTopWidth = 3f; headerText.style.borderBottomWidth = 3f; headerText.style.unityFontStyleAndWeight = FontStyle.Bold; header.Add(headerText); ClassHeaderElements[interactiveObject.GetType().Name] = header; ObjectFieldParent.Add(header); } header.Add(ListenableObjectFields[interactiveObject]); } }
private void OnInteractiveObjectFieldClicked(MouseDownEvent MouseDownEvent, ListenedObjectField InteractiveObjectField) { foreach (var interactiveObjectField in ListenableObjectFields.Values) { interactiveObjectField.SetIsSelected(interactiveObjectField == InteractiveObjectField); SelectedInteractiveObjectDetail.OnInteractiveObjectSelected(InteractiveObjectField); } }
public void OnInteractiveObjectSelected(ListenedObjectField interactiveObjectField) { ResetElement(); CurrentInteracitveObjectFieldSelected = interactiveObjectField; var elem = VisualElementFromClass.BuildVisualElement(interactiveObjectField.ListenedObjectRef, ref CurrentIListenableVisualElementRefrerences); Add(elem); CurrentElement = elem; }
public void ResetElement() { CurrentInteracitveObjectFieldSelected = null; CurrentIListenableVisualElementRefrerences.Clear(); if (CurrentElement != null) { Remove(CurrentElement); CurrentElement = null; } }