public virtual void OnEnable()
        {
            var assets = AssetDatabase.LoadAllAssetsAtPath(MathBookHelper.GetAssetPath());

            if (assets == null || assets.Length == 0)
            {
                MathBookHelper.ResetOrCreateAsset();
                assets = AssetDatabase.LoadAllAssetsAtPath(MathBookHelper.GetAssetPath());

                if (assets == null || assets.Length == 0)
                {
                    Debug.LogError("Could not load Math asset.");
                    return;
                }
            }

            // Find the MathBook.
            foreach (var asset in assets)
            {
                if (asset is MathBook)
                {
                    m_MathBook = asset as MathBook;
                    break;
                }
            }

            var simpleGraphView = new SimpleGraphView(this, withWindowedTools);

            graphView = simpleGraphView;

            graphView.name        = "MathBook";
            graphView.viewDataKey = "MathBook";
            graphView.StretchToParentSize();

            rootVisualElement.Add(graphView);

            StyleSheet sheetAsset = Resources.Load("SimpleGraph", typeof(StyleSheet)) as StyleSheet;

            graphView.styleSheets.Add(sheetAsset);

            m_SimpleGraphViewCallbacks.Init(m_MathBook, simpleGraphView);

            graphView.nodeCreationRequest += OnRequestNodeCreation;

            titleContent.text = "Simple Graph";

            Reload();
        }
Exemplo n.º 2
0
        public void Init(MathBook mathBook, SimpleGraphView graphView)
        {
            m_MathBook  = mathBook;
            m_GraphView = graphView;

            m_GraphView.graphViewChanged        += GraphViewChanged;
            m_GraphView.groupTitleChanged        = OnGroupTitleChanged;
            m_GraphView.elementsAddedToGroup     = OnElementsAddedToGroup;
            m_GraphView.elementsRemovedFromGroup = OnElementsRemovedFromGroup;

            m_GraphView.elementsInsertedToStackNode  = OnElementsInsertedToStackNode;
            m_GraphView.elementsRemovedFromStackNode = OnElementsRemovedFromStackNode;

            graphView.RegisterCallback <DragUpdatedEvent>(OnDragUpdatedEvent);
            graphView.RegisterCallback <DragPerformEvent>(OnDragPerformEvent);

            //m_GraphView.elementDeleted = ElementDeletedCallback;
            //m_GraphView.edgeConnected = EdgeConnected;
            //m_GraphView.edgeDisconnected = EdgeDisconnected;
        }
Exemplo n.º 3
0
 public void DeInit(SimpleGraphView graphView)
 {
     // ReSharper disable once DelegateSubtraction
     graphView.graphViewChanged -= GraphViewChanged;
 }