Exemplo n.º 1
0
        void AddToolbar()
        {
            var toolbar = new Toolbar();

            rootVisualElement.Add(toolbar);

            var tgl1 = new ToolbarToggle {
                text = "Show Labels"
            };

            tgl1.RegisterValueChangedCallback(OnToggleValueChanged);
            toolbar.Add(tgl1);
            tgl1.style.flexGrow    = 0f;
            m_ToggleFieldWithLabel = tgl1;

            var spc = new ToolbarSpacer();

            toolbar.Add(spc);

            var tgl = new ToolbarToggle {
                text = "Use ScrollView"
            };

            tgl.style.flexGrow       = 0f;
            m_ScrollViewToggle       = tgl;
            m_ScrollViewToggle.value = m_UseScrollViewConstruct;
            m_ScrollViewToggle.RegisterValueChangedCallback(evt => UpdateScrollViewUsage());
            toolbar.Add(tgl);
        }
Exemplo n.º 2
0
        private void AddStoryItem(StoryDataBase story)
        {
            var storyToggle = new ToolbarToggle()
            {
                text  = story.name,
                style =
                {
                    width          =                      60,
                    height         =                      60,
                    marginLeft     =                       5,
                    marginTop      =                       5,
                    marginRight    =                       5,
                    marginBottom   =                       5,
                    unityTextAlign = TextAnchor.MiddleCenter,
                }
            };

            storyToggle.RegisterValueChangedCallback((e) =>
            {
                OnStoryToggleValueChange(story, e);
            });
            m_scrollView.Add(storyToggle);

            if (m_selectedId.Contains(story.id))
            {
                storyToggle.value = true;
            }
        }
Exemplo n.º 3
0
        private void InitPreviewToolbar()
        {
            #region Scale
            m_ScaleSlider           = m_RootElement.Q <SliderInt>("scale-slider");
            m_ScaleSlider.lowValue  = kScaleMin;
            m_ScaleSlider.highValue = kScaleMax;
            m_ScaleSlider.value     = m_Scale;
            m_ScaleSlider.RegisterCallback <ChangeEvent <int> >(SetScale);

            m_ScaleValueLabel      = m_RootElement.Q <Label>("scale-value-label");
            m_ScaleValueLabel.text = m_Scale.ToString();

            m_FitToScreenToggle = m_RootElement.Q <ToolbarToggle>("fit-to-screen");
            m_FitToScreenToggle.RegisterValueChangedCallback(FitToScreen);
            m_FitToScreenToggle.SetValueWithoutNotify(m_FitToScreenEnabled);
            #endregion

            #region Rotate
            var          namePostfix = EditorGUIUtility.isProSkin ? "_dark" : "_light";
            const string iconPath    = "packages/com.unity.device-simulator/Editor/icons";

            m_RootElement.Q <Image>("rotate-cw-image").image = AssetDatabase.LoadAssetAtPath <Texture2D>($"{iconPath}/rotate_cw{namePostfix}.png");
            m_RootElement.Q <VisualElement>("rotate-cw").AddManipulator(new Clickable(RotateDeviceCW));

            m_RootElement.Q <Image>("rotate-ccw-image").image = AssetDatabase.LoadAssetAtPath <Texture2D>($"{iconPath}/rotate_ccw{namePostfix}.png");
            m_RootElement.Q <VisualElement>("rotate-ccw").AddManipulator(new Clickable(RotateDeviceCCW));
            #endregion

            // Highlight safe area.
            var highlightSafeAreaToggle = m_RootElement.Q <Toggle>("highlight-safe-area");
            highlightSafeAreaToggle.RegisterValueChangedCallback((evt) => { m_HighlightSafeArea = evt.newValue; OnStateChanged(); });
            highlightSafeAreaToggle.SetValueWithoutNotify(m_HighlightSafeArea);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Creates and populates a UIElements.Toolbar
        /// </summary>
        /// <returns>Returns the UIElements.Toolbar with controls.</returns>
        private Toolbar GenerateToolbar()
        {
            // Create the toolbar and load the stylesheet.
            Toolbar toolbar = new Toolbar();

            toolbar.styleSheets.Add(Resources.Load <StyleSheet>("Toolbar"));

            // Button to save the asset
            toolbar.Add(new ToolbarButton(() => { dialogueGraphDataUtility.SaveGraph(dialogueContainer); })
            {
                text = "Save Asset"
            });

            // Flexible spacer.
            toolbar.Add(new ToolbarSpacer()
            {
                flex = true
            });

            // Button to toggle the mini map visibility.
            ToolbarToggle toggleMiniMap = new ToolbarToggle {
                text = "Toggle MiniMap"
            };

            toggleMiniMap.RegisterValueChangedCallback(evt => { _miniMapEnabled = evt.newValue; });
            toolbar.Add(toggleMiniMap);

            return(toolbar);
        }
Exemplo n.º 5
0
        protected override void OnInitialized()
        {
            base.OnInitialized();

            UpdateLabel();
            Add(new IMGUIContainer(UpdateLabel));

            MiniMap miniMap = new MiniMap();

            miniMap.SetPosition(new Rect(10, 10, 200, 200));
            Add(miniMap);

            miniMap.MarkDirtyRepaint();

            ToolbarToggle tglMiniMap = new ToolbarToggle()
            {
                text = "MiniMap"
            };

            tglMiniMap.RegisterValueChangedCallback(e =>
            {
                miniMap.visible = e.newValue;
            });
            tglMiniMap.value = true;
            GraphWindow.Toolbar.AddToggleToLeft(tglMiniMap, 80);


            // 添加模拟节点

            // 模拟节点所有的世界状态
        }
Exemplo n.º 6
0
            internal static void RegisterControls()
            {
                if (!JetPack.CharaStudio.Running)
                {
                    return;
                }

                _charaConfigWindow = _instance.gameObject.AddComponent <AccStateSyncUI>();

                Texture2D _iconTex = TextureUtils.LoadTexture(ResourceUtils.GetEmbeddedResource("toolbar_icon.png"));

                _ttConfigWindow = CustomToolbarButtons.AddLeftToolbarToggle(_iconTex, false, _value => _charaConfigWindow.enabled = _value);

                List <Button> _buttons = GameObject.Find("StudioScene/Canvas Main Menu/02_Manipulate/00_Chara/01_State/Viewport/Content/Clothing Details").GetComponentsInChildren <Button>().ToList();

                _buttons.Add(GameObject.Find($"StudioScene/Canvas Main Menu/02_Manipulate/00_Chara/01_State/Viewport/Content/Cos/Button Shoes 1").GetComponent <Button>());
                _buttons.Add(GameObject.Find($"StudioScene/Canvas Main Menu/02_Manipulate/00_Chara/01_State/Viewport/Content/Cos/Button Shoes 2").GetComponent <Button>());
                foreach (Button _button in _buttons)
                {
                    _button.onClick.AddListener(delegate()
                    {
                        _instance.StartCoroutine(StatusPanelUpdateCoroutine());
                    });
                }

                JetPack.CharaStudio.OnSelectNodeChange += (_sender, _args) =>
                {
                    _curTreeNodeObjID = JetPack.CharaStudio.CurTreeNodeObjID;
                    _curOCIChar       = JetPack.CharaStudio.CurOCIChar;
                    UpdateUI();
                };

                HarmonyLib.Harmony.CreateAndPatchAll(typeof(HooksCharaStudio));
            }
Exemplo n.º 7
0
        public void OnEnable()
        {
            var root = this.rootVisualElement;

            Toolbar t = new Toolbar();

            root.Add(t);

            ToolbarToggle tg = new ToolbarToggle()
            {
                text = "tg1"
            };

            t.Add(tg);
            tg = new ToolbarToggle()
            {
                text = "tg2"
            };
            t.Add(tg);
            tg.RegisterValueChangedCallback(toggleChanged);
            tg.RegisterCallback <ChangeEvent <bool> >(toggleListener);

            m_ObjectNameBinding             = new TextField("Width");
            m_ObjectNameBinding.bindingPath = "m_SizeDelta.x";
            root.Add(m_ObjectNameBinding);
            m_ObjectNameBinding             = new TextField("Object Name Binding");
            m_ObjectNameBinding.bindingPath = "m_Name";
            root.Add(m_ObjectNameBinding);
            OnSelectionChange();
        }
Exemplo n.º 8
0
 public VisualElement GenerateTerminal(object target)
 {
     if (info is MethodInfo methodInfo)
     {
         return(new ToolbarButton(methodInfo.CreateDelegate(typeof(Action), target) as Action)
         {
             name = attribute.Name,
             text = attribute.DisplayName,
         });
     }
     else if (info is FieldInfo fieldInfo)
     {
         var toggle = new ToolbarToggle
         {
             name     = attribute.Name,
             text     = attribute.DisplayName,
             userData = Tuple.Create(target, fieldInfo)
         };
         toggle.RegisterValueChangedCallback((evt) =>
         {
             var info = (evt.target as VisualElement).userData as Tuple <object, FieldInfo>;
             info.Item2.SetValue(info.Item1, evt.newValue);
         });
         return(toggle);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 9
0
        /// <summary> 初始化ToolbarButton </summary>
        void InitializeToolbarButtons()
        {
            ToolbarButton btnCenter = new ToolbarButton()
            {
                text = "Center"
            };

            btnCenter.clicked += () =>
            {
                ResetPositionAndZoom();
                UpdateViewTransform(Model.Position, Model.Scale);
            };
            GraphWindow.Toolbar.AddButtonToLeft(btnCenter);

            ToolbarButton btnSave = new ToolbarButton()
            {
                text  = "Save",
                style = { width = 60 }
            };

            btnSave.clicked += () => SaveGraphToDisk();
            GraphWindow.Toolbar.AddButtonToRight(btnSave);

            ToolbarToggle toggleBlackboard = new ToolbarToggle()
            {
                text  = "Blackboard",
                value = Model.BlackboardVisible
            };

            toggleBlackboard.RegisterValueChangedCallback(e =>
            {
                Model.BlackboardVisible = e.newValue;
            });
            GraphWindow.Toolbar.AddToggleToLeft(toggleBlackboard, 100);
        }
Exemplo n.º 10
0
 void CreateTracingMenu()
 {
     m_EnableTracingButton         = this.MandatoryQ <ToolbarToggle>("enableTracingButton");
     m_EnableTracingButton.tooltip = "Toggle Tracing For Current Instance";
     m_EnableTracingButton.SetValueWithoutNotify(m_Store.GetState().EditorDataModel.TracingEnabled);
     m_EnableTracingButton.RegisterValueChangedCallback(e => OnToggleTracing?.Invoke(e));
 }
Exemplo n.º 11
0
 public void AddToggleToLeft(ToolbarToggle _toggle, float _width)
 {
     _toggle.Q(className: "unity-toggle__input").style.justifyContent = Justify.Center;
     _toggle.Q(className: "unity-toggle__input").StretchToParentSize();
     _toggle.Q(className: "unity-toggle__input").style.marginBottom = 0;
     _toggle.Q(className: "unity-toggle__text").style.color         = new Color(0, 0, 0, 1);
     _toggle.style.alignSelf      = Align.Center;
     _toggle.style.width          = _width;
     _toggle.style.unityTextAlign = TextAnchor.MiddleCenter;
     AddToLeft(_toggle);
 }
        public StylePropertyDebugger(VisualElement debuggerSelection)
        {
            selectedElement = debuggerSelection;

            m_Toolbar = new Toolbar();
            Add(m_Toolbar);

            var searchField = new ToolbarSearchField();

            searchField.AddToClassList("unity-style-debugger-search");
            searchField.RegisterValueChangedCallback(e =>
            {
                m_SearchFilter = e.newValue;
                BuildFields();
            });
            m_Toolbar.Add(searchField);

            var showAllToggle = new ToolbarToggle();

            showAllToggle.AddToClassList("unity-style-debugger-toggle");
            showAllToggle.text = "Show all";
            showAllToggle.RegisterValueChangedCallback(e =>
            {
                m_ShowAll = e.newValue;
                BuildFields();
            });
            m_Toolbar.Add(showAllToggle);

            var sortToggle = new ToolbarToggle();

            sortToggle.AddToClassList("unity-style-debugger-toggle");
            sortToggle.text = "Sort";
            sortToggle.RegisterValueChangedCallback(e =>
            {
                m_Sort = e.newValue;
                BuildFields();
            });
            m_Toolbar.Add(sortToggle);

            m_CustomPropertyFieldsContainer = new VisualElement();
            Add(m_CustomPropertyFieldsContainer);

            m_FieldsContainer = new VisualElement();
            Add(m_FieldsContainer);

            if (selectedElement != null)
            {
                BuildFields();
            }

            AddToClassList("unity-style-debugger");
        }
Exemplo n.º 13
0
 protected override void BuildUI()
 {
     currentSelection = new List <NodeView>();
     toolbar.Add(new ToolbarSpacer());
     toolbar.Add(new ToolbarSpacer {
         flex = true
     });
     autoexecute = new ToolbarToggle {
         text = "Auto Execute", bindingPath = "AutoExecute"
     };
     toolbar.Add(autoexecute);
     toolbar.Add(new ToolbarSpacer());
     toolbar.Add(new ToolbarButton(Execute)
     {
         text = "Execute"
     });
 }
Exemplo n.º 14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainToolbar"/> class.
        /// </summary>
        /// <param name="commandDispatcher">The command dispatcher.</param>
        /// <param name="graphView">The graph view to which to attach the toolbar.</param>
        public MainToolbar(CommandDispatcher commandDispatcher, GraphView graphView) : base(commandDispatcher, graphView)
        {
            AddToClassList(ussClassName);

            this.AddStylesheet("MainToolbar.uss");
            this.AddStylesheet(EditorGUIUtility.isProSkin ? "MainToolbar_dark.uss" : "MainToolbar_light.uss");

            var tpl = GraphElementHelper.LoadUXML("MainToolbar.uxml");

            tpl.CloneTree(this);

            m_NewGraphButton         = this.MandatoryQ <ToolbarButton>(NewGraphButton);
            m_NewGraphButton.tooltip = "New Graph";
            m_NewGraphButton.ChangeClickEvent(OnNewGraphButton);

            m_SaveAllButton         = this.MandatoryQ <ToolbarButton>(SaveAllButton);
            m_SaveAllButton.tooltip = "Save All";
            m_SaveAllButton.ChangeClickEvent(OnSaveAllButton);

            m_BuildAllButton         = this.MandatoryQ <ToolbarButton>(BuildAllButton);
            m_BuildAllButton.tooltip = "Build All";
            m_BuildAllButton.ChangeClickEvent(OnBuildAllButton);

            m_ShowMiniMapButton         = this.MandatoryQ <ToolbarButton>(ShowMiniMapButton);
            m_ShowMiniMapButton.tooltip = "Show MiniMap";
            m_ShowMiniMapButton.ChangeClickEvent(ShowGraphViewToolWindow <GraphViewMinimapWindow>);

            m_ShowBlackboardButton         = this.MandatoryQ <ToolbarButton>(ShowBlackboardButton);
            m_ShowBlackboardButton.tooltip = "Show Blackboard";
            m_ShowBlackboardButton.ChangeClickEvent(ShowGraphViewToolWindow <GraphViewBlackboardWindow>);

            m_Breadcrumb = this.MandatoryQ <ToolbarBreadcrumbs>("breadcrumb");

            m_EnableTracingButton         = this.MandatoryQ <ToolbarToggle>(EnableTracingButton);
            m_EnableTracingButton.tooltip = "Toggle Tracing For Current Instance";
            m_EnableTracingButton.RegisterValueChangedCallback(e => m_CommandDispatcher.Dispatch(new ActivateTracingCommand(e.newValue)));

            m_OptionsButton         = this.MandatoryQ <ToolbarButton>(OptionsButton);
            m_OptionsButton.tooltip = "Options";
            m_OptionsButton.ChangeClickEvent(OnOptionsButton);

            RegisterCallback <AttachToPanelEvent>(OnEnterPanel);
            RegisterCallback <DetachFromPanelEvent>(OnLeavePanel);
        }
Exemplo n.º 15
0
        void CreateTracingMenu()
        {
            m_EnableTracingButton         = this.MandatoryQ <ToolbarToggle>("enableTracingButton");
            m_EnableTracingButton.tooltip = "Toggle Tracing For Current Instance";
            m_EnableTracingButton.SetValueWithoutNotify(m_Store.GetState().EditorDataModel.TracingEnabled);
            m_EnableTracingButton.RegisterValueChangedCallback(e => OnToggleTracing?.Invoke(e));

            m_PickTargetButton         = this.Q <Button>("pickTargetButton");
            m_PickTargetButton.tooltip = "Pick a target";
            m_PickTargetButton.clickable.clickedWithEventInfo += OnPickTargetButton;
            m_PickTargetLabel         = m_PickTargetButton.Q <Label>("pickTargetLabel");
            m_PickTargetLabel.tooltip = "Choose an entity trace to display";
            m_PickTargetIcon          = m_PickTargetButton.Q(null, "icon");

            m_FirstFrameTracingButton                    = this.Q <Button>("firstFrameTracingButton");
            m_FirstFrameTracingButton.tooltip            = "Go To First Frame";
            m_FirstFrameTracingButton.clickable.clicked += OnFirstFrameTracingButton;

            m_PreviousFrameTracingButton                    = this.Q <Button>("previousFrameTracingButton");
            m_PreviousFrameTracingButton.tooltip            = "Go To Previous Frame";
            m_PreviousFrameTracingButton.clickable.clicked += OnPreviousFrameTracingButton;

            m_PreviousStepTracingButton                    = this.Q <Button>("previousStepTracingButton");
            m_PreviousStepTracingButton.tooltip            = "Go To Previous Step";
            m_PreviousStepTracingButton.clickable.clicked += OnPreviousStepTracingButton;

            m_NextStepTracingButton                    = this.Q <Button>("nextStepTracingButton");
            m_NextStepTracingButton.tooltip            = "Go To Next Step";
            m_NextStepTracingButton.clickable.clicked += OnNextStepTracingButton;

            m_NextFrameTracingButton                    = this.Q <Button>("nextFrameTracingButton");
            m_NextFrameTracingButton.tooltip            = "Go To Next Frame";
            m_NextFrameTracingButton.clickable.clicked += OnNextFrameTracingButton;

            m_LastFrameTracingButton                    = this.Q <Button>("lastFrameTracingButton");
            m_LastFrameTracingButton.tooltip            = "Go To Last Frame";
            m_LastFrameTracingButton.clickable.clicked += OnLastFrameTracingButton;

            m_CurrentFrameTextField = this.Q <IntegerField>("currentFrameTextField");
            m_CurrentFrameTextField.AddToClassList("frameCounterLabel");
            m_CurrentFrameTextField.RegisterCallback <KeyDownEvent>(OnFrameCounterKeyDown);
            m_TotalFrameLabel = this.Q <Label>("totalFrameLabel");
            m_TotalFrameLabel.AddToClassList("frameCounterLabel");
        }
        void LoadTemplate()
        {
            UIElementsUtils.CloneTemplateInto("PlayControls.uxml", this);
            UIElementsUtils.ApplyStyleSheet("PlayControl.uss", this);
            AddToClassList("playControl");

            var gotoBeginButton = this.Q <Button>("firstFrame");

            gotoBeginButton.clickable.clicked += OnFirstFrameClicked;
            var previousFrameButton = this.Q <Button>("previousFrame");

            previousFrameButton.clickable.clicked += OnStepBackClicked;
            m_PlayToggle = this.Q <ToolbarToggle>("play");
            m_PlayToggle.RegisterValueChangedCallback(evt => OnPlayClicked(evt.newValue));
            var nextFrameButton = this.Q <Button>("nextFrame");

            nextFrameButton.clickable.clicked += OnStepForwardClicked;
            var gotoEndButton = this.Q <Button>("lastFrame");

            gotoEndButton.clickable.clicked += OnLastFrameClicked;
        }
        public ScrewItHeatMapView()
        {
            Root = new VisualElement {
                style = { flexGrow = 1 }
            };

            m_ThreadSelection      = new ToolbarMenu();
            m_ThreadSelection.text = "Select Thread";
            m_ToolbarItems.Add(m_ThreadSelection);

            m_FilterKernelCode = new ToolbarToggle
            {
                text    = "Reattribute Kernel Samples",
                tooltip = "When active, all samples that are not from unity.exe or from a managed module will be attributed to the first function up the callstack that is from unity.exe or managed."
            };
            m_FilterKernelCode.RegisterValueChangedCallback(_ => RefreshHeatMap());
            m_ToolbarItems.Add(m_FilterKernelCode);

            m_ExportCsvButton = new ToolbarButton
            {
                text  = "Export CSV",
                style = { unityTextAlign = TextAnchor.MiddleLeft },
            };
            m_ExportCsvButton.SetEnabled(false);
            m_ExportCsvButton.clicked += ExportCsvButton;
            m_ToolbarItems.Add(m_ExportCsvButton);

            m_ColumnHeader = new MultiColumnHeader(CreateHeaderState())
            {
                canSort = false
            };
            m_HeatMapTreeView = new HeatMapTreeView(new TreeViewState(), m_ColumnHeader);
            var treeContainer = new IMGUIContainer {
                style = { flexGrow = 1 }
            };

            treeContainer.onGUIHandler = () => m_HeatMapTreeView.OnGUI(treeContainer.contentRect);
            m_ColumnHeader.ResizeToFit();
            Root.Add(treeContainer);
        }
Exemplo n.º 18
0
        void CreateTracingMenu()
        {
            m_EnableTracingButton         = this.MandatoryQ <ToolbarToggle>("enableTracingButton");
            m_EnableTracingButton.tooltip = "Toggle Tracing For Current Instance";
            if (OnToggleTracing != null)
            {
                m_EnableTracingButton.RegisterValueChangedCallback(OnToggleTracing.Invoke);
            }

            m_FirstFrameTracingButton         = this.Q("firstFrameTracingButton");
            m_FirstFrameTracingButton.tooltip = "Go To First Frame";
            m_FirstFrameTracingButton.AddManipulator(new Clickable(OnFirstFrameTracingButton));

            m_PreviousFrameTracingButton         = this.Q("previousFrameTracingButton");
            m_PreviousFrameTracingButton.tooltip = "Go To Previous Frame";
            m_PreviousFrameTracingButton.AddManipulator(new Clickable(OnPreviousFrameTracingButton));

            m_PreviousStepTracingButton         = this.Q("previousStepTracingButton");
            m_PreviousStepTracingButton.tooltip = "Go To Previous Step";
            m_PreviousStepTracingButton.AddManipulator(new Clickable(OnPreviousStepTracingButton));

            m_NextStepTracingButton         = this.Q("nextStepTracingButton");
            m_NextStepTracingButton.tooltip = "Go To Next Step";
            m_NextStepTracingButton.AddManipulator(new Clickable(OnNextStepTracingButton));

            m_NextFrameTracingButton         = this.Q("nextFrameTracingButton");
            m_NextFrameTracingButton.tooltip = "Go To Next Frame";
            m_NextFrameTracingButton.AddManipulator(new Clickable(OnNextFrameTracingButton));

            m_LastFrameTracingButton         = this.Q("lastFrameTracingButton");
            m_LastFrameTracingButton.tooltip = "Go To Last Frame";
            m_LastFrameTracingButton.AddManipulator(new Clickable(OnLastFrameTracingButton));

            m_CurrentFrameTextField = this.Q <TextField>("currentFrameTextField");
            m_CurrentFrameTextField.AddToClassList("frameCounterLabel");
            m_CurrentFrameTextField.RegisterCallback <InputEvent>(OnFrameCounterInput);
            m_CurrentFrameTextField.RegisterCallback <KeyDownEvent>(OnFrameCounterKeyDown);
            m_TotalFrameLabel = this.Q <Label>("totalFrameLabel");
            m_TotalFrameLabel.AddToClassList("frameCounterLabel");
        }
        public AssetTablesWindowToolbar()
        {
            var root = Resources.GetTemplate("AssetTablesWindowToolbar");

            Add(root);
            root.StretchToParentSize();

            NewButton  = root.Q <ToolbarToggle>("toolbarButtonNew");
            EditButton = root.Q <ToolbarToggle>("toolbarButtonEdit");

            NewButton.RegisterCallback <ChangeEvent <bool> >(evt =>
            {
                if (evt.newValue)
                {
                    ShowNewCallback();
                }
            });
            EditButton.RegisterCallback <ChangeEvent <bool> >(evt =>
            {
                if (evt.newValue)
                {
                    ShowEditCallback();
                }
            });

            selectedPanel = (SelectedPanel)EditorPrefs.GetInt(k_SelectedTabPref, 0);

            if (selectedPanel == SelectedPanel.NewTables)
            {
                NewButton.value = true;
                ShowNewCallback();
            }
            else
            {
                EditButton.value = true;
                ShowEditCallback();
            }
        }
Exemplo n.º 20
0
        public new void OnEnable()
        {
            base.OnEnable();

            DebuggerEventDispatchingStrategy.s_GlobalPanelDebug = this;

            m_DebuggerSelection = new DebuggerSelection();
            m_RepaintOverlay    = new RepaintOverlayPainter();
            m_PickOverlay       = new HighlightOverlayPainter();
            m_LayoutOverlay     = new LayoutOverlayPainter();

            var root  = this.rootVisualElement;
            var sheet = EditorGUIUtility.Load(k_DefaultStyleSheetPath) as StyleSheet;

            root.styleSheets.Add(sheet);

            StyleSheet colorSheet;

            if (EditorGUIUtility.isProSkin)
            {
                colorSheet = EditorGUIUtility.Load(k_DefaultDarkStyleSheetPath) as StyleSheet;
            }
            else
            {
                colorSheet = EditorGUIUtility.Load(k_DefaultLightStyleSheetPath) as StyleSheet;
            }

            root.styleSheets.Add(colorSheet);
            root.Add(m_Toolbar);

            m_PickToggle = new ToolbarToggle()
            {
                name = "pickToggle"
            };
            m_PickToggle.text = "Pick Element";
            m_PickToggle.RegisterValueChangedCallback((e) =>
            {
                m_PickElement = e.newValue;
                // On OSX, as focus-follow-mouse is not supported,
                // we explicitly focus the EditorWindow when enabling picking
                if (Application.platform == RuntimePlatform.OSXEditor)
                {
                    Panel p = m_DebuggerSelection.panel as Panel;
                    if (p != null)
                    {
                        TryFocusCorrespondingWindow(p);
                    }
                }
            });

            m_Toolbar.Add(m_PickToggle);

            m_ShowLayoutToggle = new ToolbarToggle()
            {
                name = "layoutToggle"
            };
            m_ShowLayoutToggle.SetValueWithoutNotify(m_ShowLayoutBound);
            m_ShowLayoutToggle.text = "Show Layout";
            m_ShowLayoutToggle.RegisterValueChangedCallback((e) =>
            {
                m_ShowLayoutBound = e.newValue;
                panelDebug?.MarkDirtyRepaint();
                panelDebug?.MarkDebugContainerDirtyRepaint();
            });

            m_Toolbar.Add(m_ShowLayoutToggle);

            if (Unsupported.IsDeveloperBuild())
            {
                m_RepaintOverlayToggle = new ToolbarToggle()
                {
                    name = "repaintOverlayToggle"
                };
                m_RepaintOverlayToggle.text = "Repaint Overlay";
                m_RepaintOverlayToggle.RegisterValueChangedCallback((e) => m_ShowRepaintOverlay = e.newValue);
                m_Toolbar.Add(m_RepaintOverlayToggle);

                m_UXMLLiveReloadToggle = new ToolbarToggle()
                {
                    name = "UXMLReloadToggle"
                };
                m_UXMLLiveReloadToggle.SetValueWithoutNotify(RetainedMode.UxmlLiveReloadIsEnabled);
                m_UXMLLiveReloadToggle.text = "UXML Live Reload";
                m_UXMLLiveReloadToggle.RegisterValueChangedCallback((e) => RetainedMode.UxmlLiveReloadIsEnabled = e.newValue);
                m_Toolbar.Add(m_UXMLLiveReloadToggle);

                m_ShowDrawStatsToggle = new ToolbarToggle()
                {
                    name = "drawStatsToggle"
                };
                m_ShowDrawStatsToggle.text = "Draw Stats";
                m_ShowDrawStatsToggle.RegisterValueChangedCallback((e) =>
                {
                    var updater = (panel as BaseVisualElementPanel)?.GetUpdater(VisualTreeUpdatePhase.Repaint) as UIRRepaintUpdater;
                    if (updater != null)
                    {
                        updater.DebugGetRenderChain().drawStats = e.newValue;
                    }
                    panelDebug?.MarkDirtyRepaint();
                });
                m_Toolbar.Add(m_ShowDrawStatsToggle);
            }

            var splitter = new DebuggerSplitter();

            root.Add(splitter);

            m_TreeViewContainer = new DebuggerTreeView(m_DebuggerSelection, SelectElement);
            m_TreeViewContainer.style.flexGrow = 1f;
            splitter.leftPane.Add(m_TreeViewContainer);

            m_StylesDebuggerContainer = new StylesDebugger(m_DebuggerSelection);
            splitter.rightPane.Add(m_StylesDebuggerContainer);
        }
Exemplo n.º 21
0
        public void OnEnable()
        {
            var root = this.rootVisualElement;

            root.styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>("Assets/Examples/Editor/todolist.uss"));

            var toolbar = new Toolbar();

            root.Add(toolbar);

            var btn1 = new ToolbarButton {
                text = "Button"
            };

            toolbar.Add(btn1);

            var spc = new ToolbarSpacer();

            toolbar.Add(spc);

            var tgl = new ToolbarToggle {
                text = "Toggle"
            };

            toolbar.Add(tgl);

            var spc2 = new ToolbarSpacer()
            {
                name = "flexSpacer1", flex = true
            };

            toolbar.Add(spc2);

            var menu = new ToolbarMenu {
                text = "Menu"
            };

            menu.menu.AppendAction("Default is never shown", a => {}, a => DropdownMenuAction.Status.None);
            menu.menu.AppendAction("Normal menu", a => {}, a => DropdownMenuAction.Status.Normal);
            menu.menu.AppendAction("Hidden is never shown", a => {}, a => DropdownMenuAction.Status.Hidden);
            menu.menu.AppendAction("Checked menu", a => {}, a => DropdownMenuAction.Status.Checked);
            menu.menu.AppendAction("Disabled menu", a => {}, a => DropdownMenuAction.Status.Disabled);
            menu.menu.AppendAction("Disabled and checked menu", a => {}, a => DropdownMenuAction.Status.Disabled | DropdownMenuAction.Status.Checked);
            toolbar.Add(menu);

            var spc3 = new ToolbarSpacer()
            {
                name = "flexSpacer2", flex = true
            };

            toolbar.Add(spc3);

            var popup = new ToolbarMenu {
                text = "Popup", variant = ToolbarMenu.Variant.Popup
            };

            popup.menu.AppendAction("Popup", a => {}, a => DropdownMenuAction.Status.Normal);
            toolbar.Add(popup);

            var popupSearchField = new ToolbarPopupSearchField();

            popupSearchField.RegisterValueChangedCallback(OnSearchTextChanged);
            popupSearchField.menu.AppendAction(
                "Popup Search Field",
                a => m_popupSearchFieldOn = !m_popupSearchFieldOn,
                a => m_popupSearchFieldOn ?
                DropdownMenuAction.Status.Checked :
                DropdownMenuAction.Status.Normal);
            toolbar.Add(popupSearchField);
            var searchField = new ToolbarSearchField();

            searchField.RegisterValueChangedCallback(OnSearchTextChanged);
            toolbar.Add(searchField);

            var popupWindow = new PopupWindow();

            popupWindow.text = "New Task";
            root.Add(popupWindow);

            m_TextInput = new TextField()
            {
                name = "input", viewDataKey = "input", isDelayed = true
            };
            popupWindow.Add(m_TextInput);
            m_TextInput.RegisterCallback <ChangeEvent <string> >(AddTask);

            var button = new Button(AddTask)
            {
                text = "Save task"
            };

            popupWindow.Add(button);

            var box = new Box();

            m_TasksContainer = new ScrollView();
            m_TasksContainer.showHorizontal = false;
            box.Add(m_TasksContainer);

            root.Add(box);

            if (m_Tasks != null)
            {
                foreach (string task in m_Tasks)
                {
                    m_TasksContainer.Add(CreateTask(task));
                }
            }
        }
Exemplo n.º 22
0
    public void OnEnable()
    {
        VisualElement root = rootVisualElement;

        // Create Toolbar
        {
            var toolbar = new Toolbar();
            root.Add(toolbar);

            var btn1 = new ToolbarButton {
                text = "Button"
            };
            toolbar.Add(btn1);

            var spc = new ToolbarSpacer();
            toolbar.Add(spc);

            var tgl = new ToolbarToggle {
                text = "Toggle"
            };
            toolbar.Add(tgl);

            var spc2 = new ToolbarSpacer()
            {
                name = "flexSpacer1", flex = true
            };
            toolbar.Add(spc2);

            var menu = new ToolbarMenu {
                text = "Menu"
            };
            menu.menu.AppendAction("Default is never shown", a => { }, a => DropdownMenuAction.Status.None);
            menu.menu.AppendAction("Normal menu", a => { }, a => DropdownMenuAction.Status.Normal);
            menu.menu.AppendAction("Hidden is never shown", a => { }, a => DropdownMenuAction.Status.Hidden);
            menu.menu.AppendAction("Checked menu", a => { }, a => DropdownMenuAction.Status.Checked);
            menu.menu.AppendAction("Disabled menu", a => { }, a => DropdownMenuAction.Status.Disabled);
            menu.menu.AppendAction("Disabled and checked menu", a => { }, a => DropdownMenuAction.Status.Disabled | DropdownMenuAction.Status.Checked);
            toolbar.Add(menu);

            var spc3 = new ToolbarSpacer()
            {
                name = "flexSpacer2", flex = true
            };
            toolbar.Add(spc3);

            var popup = new ToolbarMenu {
                text = "Popup", variant = ToolbarMenu.Variant.Popup
            };
            popup.menu.AppendAction("Popup", a => { }, a => DropdownMenuAction.Status.Normal);
            toolbar.Add(popup);
        }

        // Import UXML
        {
            var visualTree = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/Sample2.uxml");
            // var styleSheet = AssetDatabase.LoadAssetAtPath<StyleSheet>("Assets/Editor/Sample2.uss");
            VisualElement labelFromUXML = visualTree.CloneTree();
            // labelFromUXML.styleSheets.Add(styleSheet);
            root.Add(labelFromUXML);
        }
    }
Exemplo n.º 23
0
    public override VisualElement CreateInspectorGUI()
    {
        t = target as WaypointPath;

        var root = rootElement;

        root.Clear();

        box = new Box();
        box.style.minHeight = 100;
        box.RegisterCallback <MouseDownEvent>(OnBoxClicked);

        var toolbar = new Toolbar();

        var addButton = new ToolbarButton(() => { AddWaypoint(target as WaypointPath); })
        {
            text = "Add Point"
        };

        bezierToggle = new ToolbarToggle()
        {
            text = "Draw Bezier"
        };
        bezierToggle.value = t.drawBezier;
        bezierToggle.RegisterCallback <ChangeEvent <bool> >(OnToggleValueChange);

        var spacer = new ToolbarSpacer();

        spacer.style.flexGrow = 1;

        var clearButton = new ToolbarButton(ClearWaypoints)
        {
            text = "Clear Points"
        };

        toolbar.Add(addButton);
        toolbar.Add(bezierToggle);
        toolbar.Add(spacer);
        toolbar.Add(clearButton);

        actionContainer = new ScrollView();
        actionContainer.showHorizontal = false;
        box.Add(toolbar);
        box.Add(actionContainer);

        //TODO: Add previously added tasks to the box

        root.Add(box);

        var button = new Button(() => { t.UpdateWorldPoints(); });

        button.text = "Update World Points";
        root.Add(button);

        if (t.points != null)
        {
            for (int i = 0; i < t.points.Count; i++)
            {
                CreateWaypointElement(i.ToString(), t.points[i]);
            }
        }

        return(root);
    }
Exemplo n.º 24
0
 public ToggleFavoritesFilterCommand(CommandReceiver commandReceiver) : base("ToggleFavorites", "Documents favoris", Stock.FavoritesIcon, "", "Affiche les documents favoris.")
 {
     this.commandReceiver = commandReceiver;
     _ToolbarToggle       = new ToolbarToggle(this);
 }
Exemplo n.º 25
0
 public ToggleRecentFilterCommand(CommandReceiver commandReceiver) : base("ToggleRecent", "Documents récents", Stock.RecentIcon, "", "Affiche les documents récemment consultés ou créés.")
 {
     this.commandReceiver = commandReceiver;
     _ToolbarToggle       = new ToolbarToggle(this);
 }
Exemplo n.º 26
0
 public ToggleTrashFilterCommand(CommandReceiver commandReceiver) : base("ToggleTrash", "Documents récents", Stock.TrashIcon, "", "Affiche les documents placés dans la corbeille.")
 {
     this.commandReceiver = commandReceiver;
     _ToolbarToggle       = new ToolbarToggle(this);
 }
Exemplo n.º 27
0
        public void Initialize(EditorWindow debuggerWindow, VisualElement root, DebuggerContext context)
        {
            base.Initialize(debuggerWindow);

            m_Root    = root;
            m_Context = context;
            m_Context.onStateChange += OnContextChange;

            var sheet = EditorGUIUtility.Load(k_DefaultStyleSheetPath) as StyleSheet;

            m_Root.styleSheets.Add(sheet);

            StyleSheet colorSheet;

            if (EditorGUIUtility.isProSkin)
            {
                colorSheet = EditorGUIUtility.Load(k_DefaultDarkStyleSheetPath) as StyleSheet;
            }
            else
            {
                colorSheet = EditorGUIUtility.Load(k_DefaultLightStyleSheetPath) as StyleSheet;
            }

            m_Root.styleSheets.Add(colorSheet);

            m_Root.Add(m_Toolbar);

            m_PickToggle = new ToolbarToggle()
            {
                name = "pickToggle"
            };
            m_PickToggle.text = "Pick Element";
            m_PickToggle.RegisterValueChangedCallback((e) =>
            {
                m_Context.pickElement = e.newValue;
                // On OSX, as focus-follow-mouse is not supported,
                // we explicitly focus the EditorWindow when enabling picking
                if (Application.platform == RuntimePlatform.OSXEditor)
                {
                    Panel p = m_Context.selection.panel as Panel;
                    if (p != null)
                    {
                        TryFocusCorrespondingWindow(p.ownerObject);
                    }
                }
            });

            m_Toolbar.Add(m_PickToggle);

            m_ShowLayoutToggle = new ToolbarToggle()
            {
                name = "layoutToggle"
            };
            m_ShowLayoutToggle.text = "Show Layout";
            m_ShowLayoutToggle.RegisterValueChangedCallback((e) => { m_Context.showLayoutBound = e.newValue; });

            m_Toolbar.Add(m_ShowLayoutToggle);

            if (Unsupported.IsDeveloperBuild())
            {
                m_RepaintOverlayToggle = new ToolbarToggle()
                {
                    name = "repaintOverlayToggle"
                };
                m_RepaintOverlayToggle.text = "Repaint Overlay";
                m_RepaintOverlayToggle.RegisterValueChangedCallback((e) => m_Context.showRepaintOverlay = e.newValue);
                m_Toolbar.Add(m_RepaintOverlayToggle);

                m_ShowDrawStatsToggle = new ToolbarToggle()
                {
                    name = "drawStatsToggle"
                };
                m_ShowDrawStatsToggle.text = "Draw Stats";
                m_ShowDrawStatsToggle.RegisterValueChangedCallback((e) => { m_Context.showDrawStats = e.newValue; });
                m_Toolbar.Add(m_ShowDrawStatsToggle);
            }

            var splitter = new DebuggerSplitter();

            m_Root.Add(splitter);

            m_TreeViewContainer = new DebuggerTreeView(m_Context.selection, SelectElement);
            m_TreeViewContainer.style.flexGrow = 1f;
            splitter.leftPane.Add(m_TreeViewContainer);

            m_StylesDebuggerContainer = new StylesDebugger(m_Context.selection);
            splitter.rightPane.Add(m_StylesDebuggerContainer);

            DebuggerEventDispatchingStrategy.s_GlobalPanelDebug = this;

            m_RepaintOverlay = new RepaintOverlayPainter();
            m_PickOverlay    = new HighlightOverlayPainter();
            m_LayoutOverlay  = new LayoutOverlayPainter();

            OnContextChange();
        }
        void OnEnable()
        {
            titleContent     = new GUIContent("Screw It! Profiler");
            m_HeatMapView    = new ScrewItHeatMapView();
            m_Overview       = new ScrewItOverview();
            m_TopDownView    = new ScrewItTopDownView();
            m_HotSubtreeView = new ScrewItHotSubtreeView();

            rootVisualElement.style.flexDirection = FlexDirection.Column;
            m_Views = new List <IScrewItView> {
                m_Overview, m_HeatMapView, m_TopDownView, m_HotSubtreeView
            };

            {
                m_Toolbar = new Toolbar {
                    style = { height = EditorGUIUtility.singleLineHeight }
                };
                m_RecordingToggle = new ToolbarToggle {
                    text = "Start Recording"
                };
                m_RecordingToggle.RegisterValueChangedCallback(OnRecordingToggled);
                m_Toolbar.Add(m_RecordingToggle);

                var loadButton = new ToolbarButton {
                    style = { unityTextAlign = TextAnchor.MiddleLeft }
                };
                loadButton.clicked += ShowLoadTraceFileDialog;
                loadButton.text     = "Load Trace";
                m_Toolbar.Add(loadButton);

                m_Toolbar.Add(new ToolbarSpacer {
                    style = { flexGrow = 1 }
                });

                m_ViewSelection = new ToolbarMenu
                {
                    variant = ToolbarMenu.Variant.Popup,
                    text    = "Select view"
                };
                foreach (var view in m_Views)
                {
                    var thisView = view;
                    m_ViewSelection.menu.AppendAction(view.Name, action =>
                    {
                        SetActiveView(thisView);
                    });
                }
                m_ViewSelection.SetEnabled(false);

                m_Toolbar.Add(m_ViewSelection);

                rootVisualElement.Add(m_Toolbar);
            }

            {
                // setup center
                m_CenterElement = new VisualElement {
                    style = { flexGrow = 1 }
                };;
                rootVisualElement.Add(m_CenterElement);
            }

            {
                // setup footer
                var footer = new VisualElement
                {
                    style =
                    {
                        height        =                20,
                        flexDirection = FlexDirection.Row,
                        flexGrow      = 0
                    }
                };
                rootVisualElement.Add(footer);
            }
        }
Exemplo n.º 29
0
        public void CreateUI()
        {
            UISystem = UIUtility.CreateNewUISystem("BetterSceneLoaderCanvas");
            UISystem.GetComponent <CanvasScaler>().referenceResolution = new Vector2(1920f / UIScale, 1080f / UIScale);
            ShowWindow(false);

            mainPanel       = UIUtility.CreatePanel("Panel", UISystem.transform);
            mainPanel.color = backgroundColor;
            UIUtility.AddOutlineToObject(mainPanel.transform, outlineColor);

            var drag = UIUtility.CreatePanel("Draggable", mainPanel.transform);

            drag.transform.SetRect(0f, 1f, 1f, 1f, 0f, -headerSize);
            drag.color = dragColor;
            UIUtility.MakeObjectDraggable(drag.rectTransform, mainPanel.rectTransform);

            nametext = UIUtility.CreateText("Nametext", drag.transform, "Scenes");
            nametext.transform.SetRect(0f, 0f, 1f, 1f, 340f, 0f, -buttonSize * 2f);
            nametext.alignment = TextAnchor.MiddleCenter;

            var close = UIUtility.CreateButton("CloseButton", drag.transform, "");

            close.transform.SetRect(1f, 0f, 1f, 1f, -buttonSize * 2f);
            close.onClick.AddListener(() => ShowWindow(false));

            var x1 = UIUtility.CreatePanel("x1", close.transform);

            x1.transform.SetRect(0f, 0f, 1f, 1f, 8f, 0f, -8f);
            x1.rectTransform.eulerAngles = new Vector3(0f, 0f, 45f);
            x1.color = new Color(0f, 0f, 0f, 1f);
            var x2 = UIUtility.CreatePanel("x2", close.transform);

            x2.transform.SetRect(0f, 0f, 1f, 1f, 8f, 0f, -8f);
            x2.rectTransform.eulerAngles = new Vector3(0f, 0f, -45f);
            x2.color = new Color(0f, 0f, 0f, 1f);

            var category = UIUtility.CreateDropdown("Dropdown", drag.transform, "Categories");

            category.transform.SetRect(0f, 0f, 0f, 1f, 0f, 0f, 100f);
            category.captionText.transform.SetRect(0f, 0f, 1f, 1f, 0f, 2f, -15f, -2f);
            category.captionText.alignment = TextAnchor.MiddleCenter;
            category.options = GetCategories();
            category.onValueChanged.AddListener(x =>
            {
                currentCategoryFolder = CategoryFolders[category.options[x].text];
                imagelist.content.GetComponentInChildren <Image>().gameObject.SetActive(false);
                imagelist.content.anchoredPosition = new Vector2(0f, 0f);
                PopulateGrid();
            });

            var refresh = UIUtility.CreateButton("RefreshButton", drag.transform, "Refresh");

            refresh.transform.SetRect(0f, 0f, 0f, 1f, 100f, 0f, 180f);
            refresh.onClick.AddListener(ReloadImages);

            var save = UIUtility.CreateButton("SaveButton", drag.transform, "Save");

            save.transform.SetRect(0f, 0f, 0f, 1f, 180f, 0f, 260f);
            save.interactable = false;
            save.onClick.AddListener(() =>
            {
                string path = Path.Combine(currentCategoryFolder, DateTime.Now.ToString("yyyy_MMdd_HHmm_ss_fff") + ".png");
                OnSaveButtonClick(path);
                var button = CreateSceneButton(imagelist.content.GetComponentInChildren <Image>().transform, PngAssist.LoadTexture(path), path);
                button.transform.SetAsFirstSibling();
            });

            var folder = UIUtility.CreateButton("FolderButton", drag.transform, "Folder");

            folder.transform.SetRect(0f, 0f, 0f, 1f, 260f, 0f, 340f);
            folder.onClick.AddListener(() => OnFolderButtonClick(scenePath));

            var loadingPanel = UIUtility.CreatePanel("LoadingIconPanel", drag.transform);

            loadingPanel.transform.SetRect(0f, 0f, 0f, 1f, 340f, 0f, 340f + headerSize);
            loadingPanel.color = new Color(0f, 0f, 0f, 0f);
            var loadingIcon = UIUtility.CreatePanel("LoadingIcon", loadingPanel.transform);

            loadingIcon.transform.SetRect(0.1f, 0.1f, 0.9f, 0.9f);
            var loadiconTex = PngAssist.ChangeTextureFromByte(Resource.GetResourceAsBytes(typeof(SceneLoaderUI).Assembly, "Resources.loadicon"));

            loadingIcon.sprite = Sprite.Create(loadiconTex, new Rect(0, 0, loadiconTex.width, loadiconTex.height), new Vector2(0.5f, 0.5f));
            LoadingIcon.Init(loadingIcon, -5f);

            imagelist = UIUtility.CreateScrollView("Imagelist", mainPanel.transform);
            imagelist.transform.SetRect(0f, 0f, 1f, 1f, marginSize, marginSize, -marginSize, -headerSize - marginSize / 2f);
            imagelist.gameObject.AddComponent <Mask>();
            imagelist.content.gameObject.AddComponent <VerticalLayoutGroup>();
            imagelist.content.gameObject.AddComponent <ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;
            imagelist.verticalScrollbar.GetComponent <RectTransform>().offsetMin        = new Vector2(scrollOffsetX, 0f);
            imagelist.viewport.offsetMax = new Vector2(scrollOffsetX, 0f);
            imagelist.movementType       = ScrollRect.MovementType.Clamped;

            optionspanel = UIUtility.CreatePanel("ButtonPanel", imagelist.transform);
            optionspanel.gameObject.SetActive(false);

            confirmpanel = UIUtility.CreatePanel("ConfirmPanel", imagelist.transform);
            confirmpanel.gameObject.SetActive(false);

            yesbutton = UIUtility.CreateButton("YesButton", confirmpanel.transform, "Y");
            yesbutton.transform.SetRect(0f, 0f, 0.5f, 1f);
            yesbutton.onClick.AddListener(() => OnDeleteButtonClick(currentPath));

            nobutton = UIUtility.CreateButton("NoButton", confirmpanel.transform, "N");
            nobutton.transform.SetRect(0.5f, 0f, 1f, 1f);
            nobutton.onClick.AddListener(() => confirmpanel.gameObject.SetActive(false));

            var loadbutton = UIUtility.CreateButton("LoadButton", optionspanel.transform, "Load");

            loadbutton.transform.SetRect(0f, 0f, 0.3f, 1f);
            loadbutton.onClick.AddListener(() =>
            {
                confirmpanel.gameObject.SetActive(false);
                optionspanel.gameObject.SetActive(false);
                OnLoadButtonClick(currentPath);
                if (BetterSceneLoaderCore.AutoClose.Value)
                {
                    ShowWindow(false);
                }
            });

            var importbutton = UIUtility.CreateButton("ImportButton", optionspanel.transform, "Import");

            importbutton.transform.SetRect(0.35f, 0f, 0.65f, 1f);
            importbutton.onClick.AddListener(() =>
            {
                OnImportButtonClick(currentPath);
                confirmpanel.gameObject.SetActive(false);
                optionspanel.gameObject.SetActive(false);
            });

            var deletebutton = UIUtility.CreateButton("DeleteButton", optionspanel.transform, "Delete");

            deletebutton.transform.SetRect(0.7f, 0f, 1f, 1f);
            deletebutton.onClick.AddListener(() =>
            {
                confirmpanel.gameObject.SetActive(true);
                currentButton.gameObject.SetActive(false);
                confirmpanel.gameObject.SetActive(false);
                optionspanel.gameObject.SetActive(false);
            });

            var pluginiconTex = PngAssist.ChangeTextureFromByte(Resource.GetResourceAsBytes(typeof(SceneLoaderUI).Assembly, "Resources.pluginicon"));

            toolbarToggle = CustomToolbarButtons.AddLeftToolbarToggle(pluginiconTex, false, ShowWindow);

            UpdateWindow();
            PopulateGrid();
        }
Exemplo n.º 30
0
        void LoadTemplate()
        {
            rootVisualElement.Clear();

            UIElementsUtils.ApplyStyleSheet(k_Stylesheet, rootVisualElement);
            UIElementsUtils.ApplyStyleSheet(Timeline.k_Stylesheet, rootVisualElement);
            UIElementsUtils.ApplyStyleSheet(k_ToolbarStyle, rootVisualElement);

            UIElementsUtils.CloneTemplateInto(k_MainLayout, rootVisualElement);

            VisualElement outerElement = rootVisualElement.Q <VisualElement>("kinematica");

            m_Toolbar = outerElement.Q <VisualElement>("toolbar");

            m_MainLayout = outerElement.Q <VisualElement>("windowContent");

            // Input for Build
            {
                m_MainInputLayout      = outerElement.Q <VisualElement>("inputLayout");
                m_ClipAndSettingsInput = m_MainLayout.Q <VisualElement>("inputArea");

                m_GutterToggleMenu = m_MainLayout.Q <VisualElement>("gutterToggleMenu");
                var selectorClick = new Clickable(OnGutterMenuClicked);
                m_GutterToggleMenu.AddManipulator(selectorClick);

                m_GutterLabels = m_MainLayout.Q <VisualElement>("gutterList");

                //Profile and Asset creation
                {
                    m_AssetCreateLayout = m_MainLayout.Q <VisualElement>(classes: "createLayout");

                    var createButton = m_AssetCreateLayout.Q <Button>("createButton");
                    createButton.clickable.clicked += CreateButtonClicked;
                    createButton.text = "Create";
                }

                m_EditAssetButton = rootVisualElement.Q <Button>("editAssetButton");
                m_EditAssetButton.clickable.clicked += EditAsset;

                m_AssetDirtyWarning = rootVisualElement.Q <VisualElement>("assetDirtyWarning");

                m_ProgressBar = rootVisualElement.Q <ProgressBar>("progressBar");
                HideProgressBar();

                m_BuildButton = rootVisualElement.Q <Button>("buildButton");
                m_BuildButton.clickable.clicked += BuildAsset;

                m_CancelBuildButton = rootVisualElement.Q <Button>("cancelBuildButton");
                m_CancelBuildButton.clickable.clicked += CancelBuildAsset;
                DisplayCancelBuildButton(false);

                var assetSelector = m_Toolbar.Q <ObjectField>("asset");
                assetSelector.objectType = typeof(Asset);
                assetSelector.RegisterValueChangedCallback(OnAssetSelectionChanged);

                m_AnimationLibraryListView               = m_ClipAndSettingsInput.Q <AnimationClipListView>("animationLibrary");
                m_AnimationLibraryListView.m_Window      = this;
                m_AnimationLibraryListView.selectionType = SelectionType.Multiple;
                m_AnimationLibraryListView.makeItem      = MakeAnimationItem;
                m_AnimationLibraryListView.bindItem      = BindAnimationItem;
                m_AnimationLibraryListView.itemHeight    = 18;
                UIElementsUtils.ApplyStyleSheet(k_AnimationLibraryStyle, m_ClipAndSettingsInput.Q <VisualElement>("clipsArea"));

                m_Timeline = rootVisualElement.Q <Timeline>("timeline");
                m_Timeline.PreviewTargetChanged    += OnTimelinePreviewTargetChanged;
                m_Timeline.GutterTrackAdded        += OnGutterTrackCreated;
                m_Timeline.ForceGutterTrackDisplay += ForceGutterTrackDisplay;
                m_Timeline.LoadTemplate(rootVisualElement);
                m_AnimationLibraryListView.onSelectionChanged += OnLibrarySelectionChanged;

                m_PreviewToggle = rootVisualElement.Q <ToolbarToggle>("previewToggle");
                m_PreviewToggle.SetValueWithoutNotify(m_Timeline.PreviewEnabled);
                m_PreviewToggle.RegisterValueChangedCallback(evt => m_Timeline.PreviewEnabled = evt.newValue);
                m_Timeline.PreviewEnabledChangeEvent += enabled => m_PreviewToggle.SetValueWithoutNotify(enabled);
            }

            SetToolbarEnable(false);
        }