コード例 #1
0
ファイル: TiledTMXImporter.cs プロジェクト: Peechiz/GlowForce
        static bool GenerateLayerObject(GameObject parent, TMX.BaseLayerElement layer, out GameObject layerObject)
        {
            layerObject = null;
            if (layer is TMX.Layer)
            {
                TMX.Layer tmxLayer = layer as TMX.Layer;

                bool success = TileLayerImporter.ImportTileLayer(tmxLayer, parent, s_orderInLayer, s_map.infinite, out layerObject);
                s_orderInLayer++;
                if (!success)
                {
                    return(false);
                }
            }
            else if (layer is TMX.ObjectGroup)
            {
                TMX.ObjectGroup objectGroup = layer as TMX.ObjectGroup;

                bool success = ObjectLayerImporter.ImportObjectGroup(objectGroup, ref s_orderInLayer, parent, out layerObject);
                s_orderInLayer++;
                if (!success)
                {
                    return(false);
                }
            }
            else if (layer is TMX.ImageLayer)
            {
                if (!ImportUtils.CreateAssetFolderIfMissing(s_imageLayerSpriteDir, true))
                {
                    return(false);
                }
                TMX.ImageLayer imageLayer = layer as TMX.ImageLayer;

                bool success = ImageLayerImporter.ImportImageLayer(imageLayer, parent, s_orderInLayer, out layerObject);
                s_orderInLayer++;
                if (!success)
                {
                    return(false);
                }
            }
            else if (layer is TMX.GroupLayer)
            {
                TMX.GroupLayer groupLayer = layer as TMX.GroupLayer;

                GameObject newGroupLayer = new GameObject(groupLayer.name);
                newGroupLayer.transform.SetParent(parent.transform, false);
                layerObject = newGroupLayer;
                SetupLayerOffset(newGroupLayer, groupLayer.offsetx, groupLayer.offsety);

                if (groupLayer.childLayers != null)
                {
                    TreatLayers(newGroupLayer, groupLayer.childLayers);
                }
            }
            return(true);
        }
コード例 #2
0
 internal static bool ImportImageLayer(TMX.ImageLayer imageLayer, GameObject parent, int sortingLayer, out GameObject newImageLayer)
 {
     newImageLayer = new GameObject(imageLayer.name, typeof(SpriteRenderer));
     newImageLayer.transform.SetParent(parent.transform, false);
     TiledTMXImporter.SetupLayerOffset(newImageLayer, imageLayer.offsetx, imageLayer.offsety);
     if (imageLayer.image != null)
     {
         string         relativeSource = imageLayer.image.source;
         Sprite         importedSprite = TiledUtils.ImportPathAsSprite(TiledTMXImporter.s_tmxParentFolder, relativeSource, TiledTMXImporter.s_imageLayerSpriteDir, TiledTMXImporter.s_pixelsPerUnit);
         SpriteRenderer renderer       = newImageLayer.GetComponent <SpriteRenderer>();
         renderer.sprite       = importedSprite;
         renderer.sortingOrder = sortingLayer;
     }
     return(true);
 }