/// <summary> /// Clears the scene. /// </summary> /// <param name="clearResources">Clear all resources too?</param> internal void Clear(bool clearResources) { // Clear all layers for (int loop = 0; loop < m_sceneLayers.Count; loop++) { SceneLayer actLayer = m_sceneLayers[loop]; actLayer.ClearObjects(); if (actLayer.Name != DEFAULT_LAYER_NAME) { m_sceneLayers.RemoveAt(loop); loop--; } } // Clears all 2D drawing layers m_drawing2DLayers.Clear(); // Clear all resources if (clearResources) { foreach (ResourceDictionary actDictionary in m_registeredResourceDicts) { actDictionary.Clear(); } m_renderParameters.Clear(); for (int loop = 0; loop < m_sceneLayers.Count; loop++) { SceneLayer actLayer = m_sceneLayers[loop]; actLayer.ClearResources(); } } }
/// <summary> /// Clears the given layer. /// </summary> /// <param name="layer">The layer to be cleared.</param> internal void ClearLayer(SceneLayer layer) { layer.EnsureNotNull(nameof(layer)); if (layer == null) { throw new ArgumentNullException("layer"); } if (layer.Scene != this) { throw new ArgumentException("Given layer does not belong to this scene!", "layer"); } layer.ClearObjects(); }