private void ShowBuildArea() { foreach (GridTile tile in BuildGridManager.GetTileNeighbours(currentTile, 1)) { tile.SetActive(); } }
public static void Initialize( int gridLength = defaultGridLength, int buildSpacing = defaultBuildSpacing, int gridOffset = defaultGridOffset) { MainBuildGrid = new BuildGridManager(gridLength, buildSpacing); GridOffset = gridOffset; }
private bool CheckBuildArea() { var canBuild = true; foreach (GridTile tile in BuildGridManager.GetTileNeighbours(currentTile, 1)) { if (!tile.buildable) { canBuild = false; } } return(canBuild && !EventSystem.current.IsPointerOverGameObject()); }
private void Build() { buildings = GetWaveBuildings(); foreach (GameObject building in buildings) { Vector3 randomBuildLocation = new Vector3(Random.Range(buildAreaMin.x, buildAreaMax.x), 0, Random.Range(buildAreaMin.y, buildAreaMax.y)); Vector3Int gridPos = (grid.WorldToCell(randomBuildLocation)); var buildLocation = grid.GetCellCenterLocal(gridPos); var instBuilding = Instantiate(building, BuildGridManager.GetTile(buildLocation).transform.position, Quaternion.identity); MapDataManager.Add(MapDataManager.enemyBuildings, instBuilding.transform); } buildCooldown = GetWaveCooldown(); waveIndex++; }
public override void OnInspectorGUI() { DrawDefaultInspector(); BuildGridManager buildGridManager = (BuildGridManager)target; if (GUILayout.Button("Generate Grid")) { buildGridManager.GenerateBuildGrid(); } if (GUILayout.Button("Clear Grid")) { buildGridManager.ClearGrid(); } }
public void Die() { if (playerOwned) { MapDataManager.playerBuildings.Remove(transform); } else { MapDataManager.enemyBuildings.Remove(transform); } var tile = BuildGridManager.GetTile(transform.position); tile.DeleteBuilding(); Destroy(gameObject); }
public BuildGridNode(BuildGridManager parentGrid, Coordinate position) { this.Position = position; this.ParentGrid = parentGrid; }
private void DeleteBuilding(Vector3 position) { BuildGridManager.GetTile(position).DeleteBuilding(); }