public void ShowOutlines(bool show = true) { if (!show) { OutlineCreator.Tile = Blanktile; } else { var pos = IlluminaConverter.ToCoordInt(GridPosition); pos = IlluminaConverter.FlapTopSwitch(pos); clickedBase = world.Map.Maps.BasesMap[pos]; } var outlines = OutlineCreator.GetSurroundingPos(IlluminaConverter.ToFlatTopPos(this.GridPosition)); for (int i = 0; i < outlines.Length; i++) { var _pos = IlluminaConverter.ToCoordInt(outlines[i]); var available = true; if (show) { available = clickedBase.owner.navigators.Count < 3; if (((int)clickedBase.owner.tribe) != GamePlayManager.PlayerTurn) { continue; } } if ((!world.Map.Maps.GeneralsMap.ContainsKey(_pos) && !world.Map.Maps.NavigatorsMap.ContainsKey(_pos)) && i != 3 && i != 0 && available) { OutlinePositions.Add(outlines[i]); OutlineCreator.SetTile(outlines[i]); } } OutlineCreator.Tile = (Tile)GameObject.FindGameObjectWithTag("ScriptsContainer").GetComponent <GameAssetsCollection>().Outline; }
public void PlaceBaseStructures() { foreach (var item in Map.Maps.BasesMap) { var tribeIndex = (int)item.Value.owner.tribe; var pos = IlluminaConverter.ToFlatTopPos(item.Key.ToVector3Int()); var worldPos = Collection.Layers[0].CellToWorld(pos); worldPos.z = 0; var basesParent = Collection.EntitiesParent[0].transform; var baseStructure = Collection.BasePrefabs[tribeIndex]; var baseObject = Object.Instantiate(baseStructure, worldPos, Quaternion.identity, basesParent); var p = baseObject.transform.position; baseObject.GetComponent <BaseEntityManager>().GridPosition = pos; baseObject.GetComponent <BaseEntityManager>().BasePosition = baseObject.transform.position; } }