public override void Dispose() { base.Dispose(); OnAnyDeleted -= UpdateTaskContainer; _taskContainer?.Dispose(); extensionContainer.Clear(); if (_taskProvider != null) { _taskProvider.OnTaskChanged -= TaskChanged; } _taskProvider = null; titleContainer.Clear(); }
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; }