Exemplo n.º 1
0
    public void SetTilemapType(Vector3 worldPosition, MapGridObject.Type tilemapType)
    {
        MapGridObject mapGridObject = grid.GetGridObject(worldPosition);

        if (mapGridObject != null)
        {
            mapGridObject.SetGridType(tilemapType);
        }
    }
Exemplo n.º 2
0
 private void RevealAtPosition(Vector2 worldPosition)
 {
     MapGridObject.Type gridObjectType = map.RevealGridPosition(worldPosition);
     if (gridObjectType == MapGridObject.Type.Mine)
     {
         isGameActive = false;
         StartCoroutine(GameOverCoroutine());
     }
     flagCountHandler.UpdateFlagCount();
 }
Exemplo n.º 3
0
    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();
        }
    }
Exemplo n.º 4
0
    public void PlayRevealSound(MapGridObject.Type gridObjectType)
    {
        switch (gridObjectType)
        {
        default:
            PlaySound(Sound.Type.RevealCell);
            break;

        case MapGridObject.Type.Mine:
            PlaySound(Sound.Type.RevealMineCell);
            break;
        }
    }
Exemplo n.º 5
0
    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;
        }
    }
Exemplo n.º 6
0
    // 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;
                        }
                    }
                }
            }
        }
    }