public static void Update(ICamera camera) { objectWithinZoneList.Clear(); for (int i = objectList.Count - 1; i >= 0; i--) { Vector2 position = objectList[i].VectorCoordinates; if (camera.IsWithinUpdateZone(position)) { objectList[i].Update(); objectWithinZoneList.Add(objectList[i]); } else if (camera.IsWithinReleaseZone(position) || objectList[i] is IProjectile) FreeObject(objectList[i]); } ResetIfPlayerIsDead(camera); }