/// <summary> /// 初始化绘制此GraphView需要用到的GUIStyle /// </summary> private void InitGUIStyles(ref bool result) { if (!result) { EditorGUIStyleHelper.SetGUIStylePadding(nameof(EditorStyles.toolbarButton), new RectOffset(15, 15, 0, 0)); result = true; } }
protected override void AddButtons() { AddButton(new GUIContent("", m_CreateNewToggleIcon, "新建Graph资产"), () => { GenericMenu genericMenu = new GenericMenu(); foreach (var graphType in TypeCache.GetTypesDerivedFrom <BaseGraph>()) { genericMenu.AddItem(new GUIContent($"{graphType.Name}"), false, data => { BaseGraph baseGraph = GraphCreateAndSaveHelper.CreateGraph(data as System.Type); GraphAssetCallbacks.InitializeGraph(baseGraph); }, graphType); } genericMenu.ShowAsContext(); }, true); //AddSeparator(5); AddToggle(new GUIContent("", m_ExposedParamsToggleIcon, "开/关参数面板"), graphView.GetPinnedElementStatus <ExposedParameterView>() != DropdownMenuAction.Status.Hidden, (v) => graphView.ToggleView <ExposedParameterView>()); //AddSeparator(5); AddToggle(new GUIContent("", m_MiniMapToggleIcon, "开/关小地图"), m_MiniMap.visible, (v) => m_MiniMap.visible = v); //AddSeparator(5); AddToggle(new GUIContent(m_ConditionalToggleIcon, "开/关运行的面板"), graphView.GetPinnedElementStatus <ConditionalProcessorView>() != DropdownMenuAction.Status.Hidden, (v) => graphView.ToggleView <ConditionalProcessorView>()); AddButton(new GUIContent("", m_GotoFileButtonIcon, "定位至资产文件"), () => { EditorGUIUtility.PingObject(graphView.graph); Selection.activeObject = graphView.graph; }); AddSeparator(5); AddCustom(() => { GUI.color = new Color(128 / 255f, 128 / 255f, 128 / 255f); GUILayout.Label(m_BaseGraph.GetType().Name, EditorGUIStyleHelper.GetGUIStyleByName(nameof(EditorStyles.toolbarButton))); GUI.color = Color.white; }); AddButton(new GUIContent("Reload", "主动重载界面"), () => { (this.m_BaseGraphView as UniversalGraphView)?.universalGraphWindow.RefreshWindow(); }, false); }