コード例 #1
0
        public VisualScriptBlockViewModel(VisualScriptMethodEditorViewModel method, Block block) : base(method.SafeArgument(nameof(method)).ServiceProvider)
        {
            this.Method    = method;
            this.block     = block;
            this.blockNode = method.Editor.Session.AssetNodeContainer.GetOrCreateNode(block);

            var propertyGraph = method.Editor.Session.GraphContainer.TryGetGraph(method.Editor.Asset.Id);

            // If anything changes in the block, trigger a PropertyChanged on Title to force it to refresh
            graphNodeListener = new AssetGraphNodeChangeListener(blockNode, propertyGraph.Definition);
            graphNodeListener.Initialize();
            graphNodeListener.ValueChanging += GraphNodeListener_Changing;
            graphNodeListener.ValueChanged  += GraphNodeListener_Changed;
        }