void OnEnable() { { MultiColumnHeaderState newHeaderState = TaskView.CreateHeaderState(); if (MultiColumnHeaderState.CanOverwriteSerializedFields(taskHeaderState, newHeaderState)) { MultiColumnHeaderState.OverwriteSerializedFields(taskHeaderState, newHeaderState); } taskHeaderState = newHeaderState; } MultiColumnHeader taskHeader = new MultiColumnHeader(taskHeaderState); taskView = new TaskView(taskViewState, taskHeader, tasks); taskView.taskSelected += OnTaskSelected; taskView.Reload(); if (reloadingFromSerializedState) { taskView.SortRows(); } else { taskHeader.ResizeToFit(); taskHeader.SetSorting((int)TaskView.Column.Step, true); } reloadingFromSerializedState = true; EditorApplication.update += ProcessNextTask; }