예제 #1
0
    private void InClick(int x, int y)
    {
        if (ingameM.GameState == InGameManager.GAME_STATE.SET)    // 배치모드
        {
            if (y <= 4 && data.map[x, y] == InGameData.TILE.NONE) // 배치 가능한 위치를 눌렀을 때
            {
                ingameM.Setting(x, y);
                return;
            }
        }
        else if (ingameM.GameState == InGameManager.GAME_STATE.GAME &&
                 data.isMyTurn)                               // 게임중
        {
            if (selectTile.x == 0)                            // 선택된 타일이 없을 경우
            {
                if (data.map[x, y] == InGameData.TILE.PLAYER) // 플레이어 기물을 클릭했을 경우
                {
                    selectTile = new Vector2Int(x, y);
                    CreateCanTiles(x, y, new List <Vector2Int>());
                    return;
                }
            }
            else // 선택된 타일이 있을 경우
            {
                if (selectTile.x == x && selectTile.y == y) // 원래 위치를 클릭했을 경우
                {
                    DestroyCanTiles();
                    selectTile = new Vector2Int(0, 0);
                    return;
                }
                else if (data.map[x, y] == InGameData.TILE.PLAYER) // 다른 플레이어 기물을 클릭했을 경우
                {
                    DestroyCanTiles();
                    selectTile = new Vector2Int(x, y);
                    CreateCanTiles(x, y, new List <Vector2Int>());
                    return;
                }
                else if (data.map[x, y] == InGameData.TILE.CAN) // 이동 가능 위치를 눌렀을 경우
                {
                    DestroyCanTiles();
                    PieceMove(selectTile.x, selectTile.y, x, y);
                    return;
                }
                else // 이동 불가능 위치를 눌렀을 경우
                {
                    DestroyCanTiles();
                    selectTile = new Vector2Int(0, 0);
                    return;
                }
            }
        }

        effectM.BoardClickEffect(Camera.main.ScreenToWorldPoint(Input.mousePosition));
    }