コード例 #1
0
    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]);
        }
    }
コード例 #2
0
 private void OnInteractiveObjectFieldClicked(MouseDownEvent MouseDownEvent, ListenedObjectField InteractiveObjectField)
 {
     foreach (var interactiveObjectField in ListenableObjectFields.Values)
     {
         interactiveObjectField.SetIsSelected(interactiveObjectField == InteractiveObjectField);
         SelectedInteractiveObjectDetail.OnInteractiveObjectSelected(InteractiveObjectField);
     }
 }
コード例 #3
0
    public void OnInteractiveObjectSelected(ListenedObjectField interactiveObjectField)
    {
        ResetElement();
        CurrentInteracitveObjectFieldSelected = interactiveObjectField;

        var elem = VisualElementFromClass.BuildVisualElement(interactiveObjectField.ListenedObjectRef, ref CurrentIListenableVisualElementRefrerences);

        Add(elem);
        CurrentElement = elem;
    }
コード例 #4
0
 public void ResetElement()
 {
     CurrentInteracitveObjectFieldSelected = null;
     CurrentIListenableVisualElementRefrerences.Clear();
     if (CurrentElement != null)
     {
         Remove(CurrentElement);
         CurrentElement = null;
     }
 }