public void SetTilemapType(Vector3 worldPosition, MapGridObject.Type tilemapType) { MapGridObject mapGridObject = grid.GetGridObject(worldPosition); if (mapGridObject != null) { mapGridObject.SetGridType(tilemapType); } }
private void RevealAtPosition(Vector2 worldPosition) { MapGridObject.Type gridObjectType = map.RevealGridPosition(worldPosition); if (gridObjectType == MapGridObject.Type.Mine) { isGameActive = false; StartCoroutine(GameOverCoroutine()); } flagCountHandler.UpdateFlagCount(); }
private void Update() { Vector3 worldPosition = UtilsClass.GetMouseWorldPosition(); music(); if (Input.GetMouseButtonDown(0)) { if (isGameActive) { MapGridObject.Type gridType = map.RevealGridPosition(worldPosition); if (gridType == MapGridObject.Type.Mine) { // Revealed a Mine, Game Over! isGameActive = false; song = 1; map.RevealEntireMap(); UI_Blocker.Show_Static(); UI_GameOver.Instance.Show(); } } } if (Input.GetMouseButtonDown(1)) { if (isGameActive) { map.FlagGridPosition(worldPosition); } } if (Input.GetKeyDown(KeyCode.T)) { gridPrefabVisual.SetRevealEntireMap(true); } if (Input.GetKeyUp(KeyCode.T)) { gridPrefabVisual.SetRevealEntireMap(false); } HandleTimer(); if (Input.GetKeyDown(KeyCode.Escape)) { pause = !pause; } if (pause) { SoundManager.Instance.Pause(); isGameActive = false; UI_Blocker.Show_Static(); } }
public void PlayRevealSound(MapGridObject.Type gridObjectType) { switch (gridObjectType) { default: PlaySound(Sound.Type.RevealCell); break; case MapGridObject.Type.Mine: PlaySound(Sound.Type.RevealMineCell); break; } }
public void SetPlaceType(string type) { switch (type) { case "empty": placeType = MapGridObject.Type.Empty; break; case "grass": placeType = MapGridObject.Type.Grass; break; case "rock": placeType = MapGridObject.Type.Rock; break; case "trees": placeType = MapGridObject.Type.Trees; break; case "mine": placeType = MapGridObject.Type.Mine; break; case "wind": placeType = MapGridObject.Type.Wind; break; case "solar": placeType = MapGridObject.Type.Solar; break; case "research": placeType = MapGridObject.Type.Research; break; } }
// Update is called once per frame void Update() { Vector3 worldPosition = GetMouseWorldPosition(); if (Input.GetMouseButtonDown(0)) { if (debugOn) { gameManager.tilemap.SetTilemapType(worldPosition, placeType); } else { if (MouseWithinGrid(worldPosition)) { MapGridObject.Type clickPositionType = gameManager.tilemap.GetTilemapType(worldPosition); if (clickPositionType != MapGridObject.Type.Rock && clickPositionType != placeType) { switch (placeType) { case MapGridObject.Type.Empty: break; case MapGridObject.Type.Grass: if (gameManager.money >= gameManager.groundCost) { gameManager.money -= gameManager.groundCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; case MapGridObject.Type.Rock: break; case MapGridObject.Type.Trees: if (gameManager.money >= gameManager.treesCost) { gameManager.money -= gameManager.treesCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; case MapGridObject.Type.Mine: if (gameManager.money >= gameManager.mineCost) { gameManager.money -= gameManager.mineCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; case MapGridObject.Type.Wind: if (gameManager.money >= gameManager.windCost) { gameManager.money -= gameManager.windCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; case MapGridObject.Type.Solar: if (gameManager.money >= gameManager.solarCost) { gameManager.money -= gameManager.solarCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; case MapGridObject.Type.Research: if (gameManager.money >= gameManager.researchCost) { gameManager.money -= gameManager.researchCost; gameManager.tilemap.SetTilemapType(worldPosition, placeType); } break; } } } } } }