void _activeObjectives_UserObjectiveRemoved(GameplayObjective objective) { Control toRemove = _objectiveListFrame.Controls.Find((c) => objective.Equals(c.Tag)); _objectiveListFrame.Controls.Remove(toRemove); _objectiveListFrame.PerformLayout(); }
void _activeObjectives_UserObjectiveTaskAdded(GameplayObjective objective, ObjectiveTask newTask) { Frame objectiveFrame = _objectiveListFrame.Controls.Find((c) => objective.Equals(c.Tag)) as Frame; if (objectiveFrame == null) { DebugFormatter.LogError(this, "Could not find frame for objective {0}. Failed to update objective interface", objective.Name); return; } Label newTaskLabel = CreateTaskLabel(newTask); objectiveFrame.Controls.Add(newTaskLabel); objectiveFrame.PerformLayout(); _objectiveListFrame.PerformLayout(); newTask.TaskCompleted += (t) => task_TaskCompleted(t, newTaskLabel); }