private SuperLayer ProcessTileLayer(GameObject goParent, XElement xLayer) { Assert.IsNotNull(xLayer); Assert.IsNotNull(goParent); // Create the game object that contains the layer and add it to the grid parent var layerComponent = goParent.AddSuperLayerGameObject <SuperTileLayer>(new SuperTileLayerLoader(xLayer), SuperImportContext); AddSuperCustomProperties(layerComponent.gameObject, xLayer.Element("properties")); RendererSorter.BeginTileLayer(layerComponent); using (SuperImportContext.BeginIsTriggerOverride(layerComponent.gameObject)) { // Process the data for the layer var xData = xLayer.Element("data"); if (xData != null) { ProcessLayerData(layerComponent.gameObject, xData); } } RendererSorter.EndTileLayer(layerComponent); return(layerComponent); }