Beispiel #1
0
    static void Init()
    {
        // Get existing open window or if none, make a new one:
        TileMapper window = (TileMapper)EditorWindow.GetWindow(typeof(TileMapper));

        window.Show();
    }
Beispiel #2
0
        public void AddTile(int2 tilePosition)
        {
            List <TileMapper.TileLayerInfo> tileLayers = TileMapper.GetTileLayers(map, tilePosition, tileSet);
            OrthogonalChunkRendererLayer    renderer;

            TileMapper.TileLayerInfo layerInfo;

            if (tileLayers != null)
            {
                for (int i = 0; i < tileLayers.Count; i++)
                {
                    layerInfo = tileLayers[i];

                    if (!layers.TryGetValue(layerInfo.SortingLayer, out renderer))
                    {
                        Vector2  layerOffset = new Vector2(layerInfo.OffsetUnits.x * tileWidth, layerInfo.OffsetUnits.y * tileWidth);
                        Material material    = materials.Find(x => x.name == layerInfo.Material);

                        renderer = tileMapRenderer.SpawnRendererLayer();
                        renderer.transform.SetParent(transform);
                        renderer.name = string.Format("Layer {0}", layerInfo.SortingLayer);
                        renderer.BeginBuilding(map, tileSet.texture, material, tileWidth, tileHeight, layerOffset, layerInfo.SortingLayer, layerInfo.SortingOrder);

                        Vector3 newLayerPosition = renderer.transform.localPosition;
                        renderer.transform.localPosition = newLayerPosition;

                        layers.Add(layerInfo.SortingLayer, renderer);
                    }

                    renderer.AddTile(tilePosition, layerInfo.Tile);
                }
            }
        }
 private void Awake()
 {
     instance = this;
 }
Beispiel #4
0
        public static List <QTiles> CreateSpriteLayer(QGetContent content, string nameOfTexture, QVector2 startingPos, QVector2 scale, TileMapper layer)
        {
            var t      = content.Texture(nameOfTexture);
            var colors = t.GetPixels();
            var c      = ConvertArray2D(colors, t.Width, t.Height);

            return(CompileLayer(c, startingPos, scale, layer));
        }
Beispiel #5
0
        //turns list of colors into list of rectangles and positions
        static List <QTiles> CompileLayer(QColor[,] colors, QVector2 startingPos, QVector2 scale, TileMapper layer)
        {
            var tiles = new List <QTiles>();
            var pos   = startingPos;

            for (int i = 0; i < colors.GetLength(0); i++)
            {
                for (int j = 0; j < colors.GetLength(1); j++)
                {
                    var r = layer(colors[i, j]);
                    if (r != QRectangle.Empty)
                    {
                        tiles.Add(new QTiles(pos, r));
                    }
                    pos.X += scale.X;
                }
                pos.X  = startingPos.X;
                pos.Y += scale.Y;
            }
            return(tiles);
        }
 static void Init()
 {
     window = (TileMapper)EditorWindow.GetWindow(typeof(TileMapper));
     window.Show();
 }