예제 #1
0
 public override void Dispose()
 {
     base.Dispose();
     OnAnyDeleted -= UpdateTaskContainer;
     _taskContainer?.Dispose();
     extensionContainer.Clear();
     if (_taskProvider != null)
     {
         _taskProvider.OnTaskChanged -= TaskChanged;
     }
     _taskProvider = null;
     titleContainer.Clear();
 }
예제 #2
0
        public TaskNode(TaskNodeData data) : base(data)
        {
            TaskData = data;
            _isEntry = TaskData.TaskImplementation is EntryTask;

            if (!IsEntry)
            {
                _taskProvider = new NodeTaskProvider(TaskData);
                _taskProvider.OnTaskChanged += TaskChanged;
                var titleElement = titleContainer.Children().First();
                titleContainer.Remove(titleElement);
                titleContainer.Insert(0, _taskProvider);
                titleContainer.AddToClassList("node-title-container");
                titleContainer.style.height = 25;

                _taskContainer = new TaskContainer();
                UpdateTaskContainer();
                extensionContainer.Add(_taskContainer);
            }

            UpdateAllPorts();
            UpdateTaskDependencies();
            OnAnyDeleted += UpdateTaskContainer;
        }