public static void Play() { Config.GameSave = new ConfigGameSave { nation = Config.GameSave.nation, map = Config.GameSave.map }; MapManager.Load(Config.GameSave.map); WorldManager.Generate(MapManager.LoadedMap); CanvasManager.Layer = "InGame"; CameraManager.Focus(); CanvasLayerInGame.RefreshSelectedTile(); CanvasPanelMap.Refresh(); }
public static void Refresh() { CanvasPanelMap map = FindObjectOfType <CanvasPanelMap>(); Image[] images = map.GetComponentsInChildren <Image>(); for (int i = 0; i < images.Length; i++) { if (images[i].transform.parent == map.frame.transform) { Destroy(images[i].gameObject); } } for (int i = 0; i < WorldManager.Tiles.Length; i++) { Image image = new GameObject("Tile").AddComponent <Image>(); image.transform.SetParent(map.frame.transform); Vector2 position = new Vector2 { x = WorldManager.Tiles[i].transform.position.x, y = WorldManager.Tiles[i].transform.position.z }; image.rectTransform.anchorMin = Vector2.zero; image.rectTransform.anchorMax = Vector2.zero; image.rectTransform.pivot = new Vector2(0, 1); image.rectTransform.anchoredPosition = position * TileSize * 0.5f + (Vector2.one * TileSize * 0.5f); image.rectTransform.localEulerAngles = new Vector3(0f, 0f, 90f); image.rectTransform.sizeDelta = new Vector2(TileSize, TileSize); image.color = WorldManager.Tiles[i].color; image.raycastTarget = false; image.sprite = map.sprite; } }