static void Init() { // Get existing open window or if none, make a new one: TileMapper window = (TileMapper)EditorWindow.GetWindow(typeof(TileMapper)); window.Show(); }
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; }
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)); }
//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(); }