Example #1
0
    public override VisualElement CreateInspectorGUI()
    {
        // Reset root element and reuse.
        rootElement.Clear();

        // Turn the UXML into a VisualElement hierarchy under root.
        visualTree.CloneTree(rootElement);

        // Find elements
        blockList        = rootElement.Q("BlockList") as ListView;
        blockElement     = rootElement.Q("BlockEditor") as BlockEditorElement;
        newBlock         = rootElement.Q("NewBlock") as Button;
        removeBlock      = rootElement.Q("RemoveBlock") as Button;
        forceSave        = rootElement.Q("ForceSave") as Button;
        changeAllAudio   = rootElement.Q("SetAllAudio") as Button;
        allAudioCategory = rootElement.Q("SetAllAudioField") as TextField;

        // Update elements
        blockList.itemHeight          = 42;
        blockList.makeItem            = ListView_Makeitem;
        blockList.bindItem            = ListView_BindItem;
        blockList.onSelectionChanged += ListView_onSelectionChanged;
        blockList.itemsSource         = blockSet.Blocks;
        blockList.Refresh();

        newBlock.clickable.clicked       += NewBlock_Clicked;
        removeBlock.clickable.clicked    += RemoveBlock_Clicked;
        forceSave.clickable.clicked      += ForceSave_Clicked;
        changeAllAudio.clickable.clicked += ChangeAllAudio;

        return(rootElement);
    }
Example #2
0
    /// <summary>
    /// Call LayoutRebuilder.ForceRebuildLayoutImmediate At All Ancestors BlockEditorElement
    /// </summary>
    public void RecursiveRefreshRectTransform()
    {
        //https://ssscool.tistory.com/367
        //sometimes ContentSizeFilter doesn't work, so this method fix this
        LayoutRebuilder.ForceRebuildLayoutImmediate(this._RectTransform);

        BlockEditorElement blockEditorElement = ParentBlockEditorElement;

        if (blockEditorElement != null)
        {
            blockEditorElement.RecursiveRefreshRectTransform();
        }
    }