public void SaveMap() { if (mapName.Length > 0) { //Debug.Log("Dimensions: " + BoardEditProxy.instance.GetDimensions().ToString()); BoardEditMeta bMeta = new BoardEditMeta((int)BoardEditProxy.instance.GetDimensions()[0], (int)BoardEditProxy.instance.GetDimensions()[1], BoardEditProxy.instance.GetUnits().Where(unt => unt.GetData().GetTeam() == 0).ToArray(), BoardEditProxy.instance.GetUnits().Where(unt => unt.GetData().GetTeam() == 1).ToArray(), BoardEditProxy.instance.GetSpecialTiles(TileEditTypes.fire).ToArray(), BoardEditProxy.instance.GetSpecialTiles(TileEditTypes.snow).ToArray(), BoardEditProxy.instance.GetSpecialTiles(TileEditTypes.wall).ToArray(), BoardEditProxy.instance.GetSpecialTiles(TileEditTypes.divine).ToArray() ); BoardEditProxy.SaveItemInfo(mapName, JsonUtility.ToJson(bMeta)); } }
public void PopulateRetrievedInfo(BoardEditMeta bMeta) { Debug.Log("PopulateRetrievedInfo: " + bMeta); if (bMeta != null) { Debug.Log("Building Stored Board"); height = bMeta.height; width = bMeta.width; BuildTestBoard(); PopulatePlayer(bMeta.players.Select(pos => instance.GetTileAtPosition(pos)).ToArray()); PopulateEnemies(bMeta.enemies.Select(pos => instance.GetTileAtPosition(pos)).ToArray()); foreach (Vector3Int pt in bMeta.fireTiles) { tiles[pt.x, pt.y].SetLifeFire(true); } foreach (Vector3Int pt in bMeta.snowTiles) { tiles[pt.x, pt.y].SetLifeSnow(true); } foreach (Vector3Int pt in bMeta.wallTiles) { tiles[pt.x, pt.y].SetLifeWall(true); } foreach (Vector3Int pt in bMeta.divineTiles) { tiles[pt.x, pt.y].SetLifeDivine(true); } } else { Debug.Log("Building sample board"); BuildTestBoard(); PopulatePlayer(GetSideTiles(PLAYER_TEAM)); PopulateEnemies(GetSideTiles(ENEMY_TEAM)); PlaceObstaclesAlt(); } foreach (UnitProxy unit in GetUnits()) { unit.AcceptAction(Skill.Actions.BeginGame, null); } PanelControllerNew.instance.LoadInitUnits(GetUnits()); TurnController.instance.StartTurn(true); }
public void PopulateRetrievedInfo(BoardEditMeta bMeta) { if (bMeta != null) { height = bMeta.height; width = bMeta.width; BoardEditProxy.instance.Resize(width, height); foreach (Vector3Int unt in bMeta.players) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.CreateUnitOnTile(glossary.GetComponent <Glossary>().playerTile, 0); } foreach (Vector3Int unt in bMeta.enemies) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.CreateUnitOnTile(glossary.GetComponent <Glossary>().enemyTile, 1); } foreach (Vector3Int unt in bMeta.fireTiles) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.gameObject.GetComponent <SpriteRenderer>().sprite = GetPaintTileSprite(TileEditTypes.fire); tl.SetLifeFire(true); } foreach (Vector3Int unt in bMeta.snowTiles) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.gameObject.GetComponent <SpriteRenderer>().sprite = GetPaintTileSprite(TileEditTypes.snow); tl.SetLifeSnow(true); } foreach (Vector3Int unt in bMeta.wallTiles) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.gameObject.GetComponent <SpriteRenderer>().sprite = GetPaintTileSprite(TileEditTypes.wall); tl.SetLifeWall(true); } foreach (Vector3Int unt in bMeta.divineTiles) { TileEditorProxy tl = BoardEditProxy.instance.GetTileAtPosition(unt); tl.gameObject.GetComponent <SpriteRenderer>().sprite = GetPaintTileSprite(TileEditTypes.divine); tl.SetLifeDivine(true); } } }