public CreateGraphInstanceCustomMenu(GraphTypeMetadata graphTypeMetadata) { var uxmlAsset = Resources.Load <VisualTreeAsset>(ResourceAssetPaths.CreateGraphInstanceCustomMenu_UXML); uxmlAsset.CloneTree(this); m_graphTypeMetaData = graphTypeMetadata; m_graphTypeDropdownDrawer = this.Q <IMGUIContainer>(GRAPH_TYPE_DROPDOWN); m_graphNameField = this.Q <TextField>(GRAPH_NAME_FIELD); m_pathDrawer = this.Q <Label>(GRAPH_PATH_LABEL); m_createButton = this.Q <Button>(CREATE_BUTTON); m_closeButton = this.Q <Button>(CLOSE_BUTTON); m_graphNameField.value = ""; m_graphTypeDropdownDrawer.onGUIHandler += DrawGraphTypeDropdown; m_createButton.clicked += OnCreateButtonPressed; m_closeButton.clicked += OnCloseButtonPressed; UpdatePath(); Selection.selectionChanged -= UpdatePath; Selection.selectionChanged += UpdatePath; m_graphNameField.RegisterValueChangedCallback((newName) => { UpdatePath(); }); m_allGraphTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()).Where( x => typeof(NodeGraph).IsAssignableFrom(x) && x.IsClass && !x.IsAbstract).ToArray(); m_allGraphTypeNames = m_allGraphTypes.Select(x => x.Name).ToArray(); }
public GenerateNodeViewDrawerClassCustomMenu(GraphTypeMetadata graphTypeMetadata) { m_graphTypeMetadata = graphTypeMetadata; var uxmlAsset = Resources.Load <VisualTreeAsset>(ResourceAssetPaths.GenerateNodeViewDrawerClassCustomMenu_UXML); uxmlAsset.CloneTree(this); m_closeButton = this.Q <Button>(CLOSE_BUTTON); m_createButton = this.Q <Button>(CREATE_BUTTON); m_className = this.Q <TextField>(NODEVIEWDRAWER_CLASS_NAME); m_relatedNodeClassNameIMGUI = this.Q <IMGUIContainer>(NODE_CLASS_NAME_IMGUI); m_includeComments = this.Q <Toggle>(INCLUDE_COMMENTS_TOGGLE); m_previewArea = this.Q <TextField>(PREVIEW_AREA); m_assetPathLabel = this.Q <Label>(ASSET_PATH_LABEL); m_closeButton.clicked += OnCloseButtonPressed; m_createButton.clicked += OnCreateButtonPressed; m_includeComments.RegisterValueChangedCallback(ChangeTemplate); m_className.RegisterValueChangedCallback(OnGraphClassNameChanged); m_includeComments.value = true; ChangeTemplate(m_includeComments.value); UpdatePath(); Selection.selectionChanged -= UpdatePath; Selection.selectionChanged += UpdatePath; m_relatedNodeClassNameIMGUI.onGUIHandler += OnRelatedNodeClassDraw; SetupPopupOptions(); }