// Creates a new object, attached to the parent, with a specialized layer component public static T AddSuperLayerGameObject <T>(this GameObject goParent, SuperLayerLoader loader, SuperImportContext importContext) where T : SuperLayer { GameObject goLayer = new GameObject(); // Read in the fields common across our Tiled layer types var layerComponent = loader.CreateLayer(goLayer) as T; Assert.IsNotNull(layerComponent); // Add the object to the parent goLayer.name = layerComponent.m_TiledName; goParent.AddChildWithUniqueName(goLayer); return(layerComponent); }
// Creates a new object, attached to the parent, with a specialized layer component public static T AddSuperLayerGameObject <T>(this GameObject goParent, SuperLayerLoader loader, SuperImportContext importContext) where T : SuperLayer { GameObject goLayer = new GameObject(); // Read in the fields common across our Tiled layer types var layerComponent = loader.CreateLayer(goLayer) as T; Assert.IsNotNull(layerComponent); // Add the object to the parent goLayer.name = layerComponent.m_TiledName; goParent.AddChildWithUniqueName(goLayer); // Position the layer based on the x, y offsets and pixels per unit goLayer.transform.localPosition = importContext.MakePoint(layerComponent.m_OffsetX, layerComponent.m_OffsetY); return(layerComponent); }
// Creates a new object, attached to the parent, with a specialized layer component public static T AddSuperLayerGameObject <T>(this GameObject goParent, SuperLayerLoader loader, SuperImportContext importContext) where T : SuperLayer { GameObject goLayer = new GameObject(); // Read in the fields common across our Tiled layer types var layerComponent = loader.CreateLayer(goLayer) as T; Assert.IsNotNull(layerComponent); // Add the object to the parent goLayer.name = layerComponent.m_TiledName; goParent.AddChildWithUniqueName(goLayer, loader.WorldPositionStays); // fixit - tile layers use local space, other layers don't // fixit - object placement is now broken because they are no longer using localPosition and layers may have an offset // Position the layer based on the x, y offsets and pixels per unit goLayer.transform.localPosition += (Vector3)importContext.MakePoint(layerComponent.m_OffsetX, layerComponent.m_OffsetY); return(layerComponent); }