public void UnExecute() { foreach (var track in m_pkg.Tracks) { Helmet hmd = m_helmets.First(h => h.id == track.id); hmd.TurnBack(); hmd.color = m_oldColors.Pop(); if (m_addedHelmets.Count > 0 && m_addedHelmets.Peek() == hmd) { m_addedHelmets.Pop(); hmd.ResetHelmet(); m_helmets.Remove(hmd); m_helmetsPool.Despawn(hmd.gameObject); } } }