public void UpdateProgress(int objectiveId, bool abort) { foreach (Objective o in objectives) { if (o.GetId() == objectiveId) { if (o.GetStatus() == MissionStatus.Incomplete) { MissionStatus status = abort ? o.AbortProgress() : o.UpdateProgress(); if (status == MissionStatus.Completed) { messages.text = "Objective " + char.ConvertFromUtf32(65 + o.GetId()) + " completed"; _inGameMenu.UpdateMissionStatus(objectiveId, status); StartCoroutine(RemoveText()); } else if (status == MissionStatus.Failed) { messages.text = "Objective " + char.ConvertFromUtf32(65 + o.GetId()) + " failed"; _inGameMenu.UpdateMissionStatus(objectiveId, status); StartCoroutine(RemoveText()); } } } } }