private void SetTiles() { if (m_Tiles == null) { m_Tiles = new Vector3IntTileBaseDictionary(); } if (m_Tiles.Count == 0) { CreateTiles(); } }
/// <summary> /// /// </summary> public void CreateTiles() { if (m_Tiles == null) { m_Tiles = new Vector3IntTileBaseDictionary(); } for (int x = 0; x < m_Width; x++) { for (int y = 0; y < m_Length; y++) { Vector3Int position = new Vector3Int(x, y, 0); TileBase tile = null; switch (m_TileShape) { case eTileShape.Cube: tile = DemoCubeTilemap.TileFactory.CreateCubeTileAt(position) as TileBase; break; case eTileShape.SquareSprite: tile = null; break; case eTileShape.Hex: tile = DemoHexTilemap.TileFactory.CreateHexTileAt(position); break; case eTileShape.HexSprite: tile = null; break; case eTileShape.UnityTilemap: tile = null; break; default: tile = null; break; } if (m_Tiles.ContainsKey(position) == false) { m_Tiles.Add(position, tile); } } } }
/// <summary> /// /// </summary> public void ClearAllTiles() { if (m_Tiles.Count == 0) { return; } if (m_Tiles == null) { return; } foreach (KeyValuePair <Vector3Int, TileBase> kv in m_Tiles) { if (kv.Value != null) { DestroyImmediate(kv.Value.gameObject); } } m_Tiles.Clear(); m_Tiles = null; }