void selectMove()
    {
        if (Input.GetMouseButton(0) && !select_started && gridManager.matrixPosToWorld(playerPos) == gridManager.mousePositionToTileMapPosition(Input.mousePosition))
        {
            mousePressed = true;
            Vector3Int next = gridManager.mousePositionToTileMapPosition(Input.mousePosition);
            last_position = gridManager.tilemapGridToMatrixPos(next);
            gridManager.board_tilemap.SetTile(next, gridManager.red_tile);
            select_started = true;
        }

        if (Input.GetMouseButton(0) && select_started && spaces_selected < player_moves)
        {
            Vector3Int next      = gridManager.mousePositionToTileMapPosition(Input.mousePosition);
            Vector3Int nextCoord = gridManager.tilemapGridToMatrixPos(next);
            if (gridManager.are_adjacent(last_position, nextCoord))
            {
                gridManager.board_tilemap.SetTile(next, gridManager.red_tile);
                move_queue.Enqueue(nextCoord);
                last_position = nextCoord;
                spaces_selected++;
            }
            else if (last_position != nextCoord)
            {
                select_started  = false;
                mousePressed    = false;
                spaces_selected = 0;
                gridManager.clearPaths();
                move_queue.Clear();
            }
        }

        if (mousePressed && !Input.GetMouseButton(0))
        {
            turnDone        = true;
            mousePressed    = false;
            select_started  = false;
            spaces_selected = 0;
            turnManager.nextTurn();
        }
    }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        if (enemyTurn && !turnDone)
        {
            tempMovement();
        }
        else if (enemyTurn && turnDone && !moving)
        {
            enemyTurn = false;
            turnDone  = false;

            turnManager.nextTurn();
        }
    }