public void Execute() { foreach (var track in m_pkg.Tracks) { Helmet hmd = m_helmets.FirstOrDefault(h => h.id == track.id); if (hmd == null) { hmd = m_helmetsPool.Spawn().GetComponent <Helmet>(); hmd.id = track.id; m_helmets.Add(hmd); m_addedHelmets.Push(hmd); } m_oldColors.Push(hmd.color); hmd.color = track.color; hmd.ReplaceAbs(track.position, track.rotation); } }