Exemplo n.º 1
0
    public void SendPawnPlacements(PawnPlacements pawnPlacements)
    {
        //Debug.Log("First Pawn" + pawnPlaced.positions[0] + " Seconds Pawn" + pawnPlaced.positions[1] + " Third Pawn" + pawnPlaced.positions[2]);
        string newPawnPlacedData = JsonUtility.ToJson(pawnPlacements);

        Debug.Log("Sending pawn placed data: " + newPawnPlacedData);
        Debug.Log(GameEmits.pawnplacements.ToString());
        socket.EmitJson(GameEmits.pawnplacements.ToString(), newPawnPlacedData);
        GamePlay.instance.StopTurnTimer();
        GameManager.instance.currentGameState = GameManager.GAMESTATE.NONE;
        //Emit("pawnplacement",newpawnPlacedData);
        //PawnPlaced(newPawnPlacedData); //dont  call this from here
    }
Exemplo n.º 2
0
    public void PlacePawn(Square square)
    {
        if (!square.isHighlighted)
        {
            return;
        }

        #region Old COde
        //if (CounterForPlacingPawn == 0) // PLACE STAR TOWER
        //{
        //    int index = square.SquareId;
        //    CreatePawn( index, players[0].allPawns, localPawns[5]);

        //    for (int i = 0; i < Constants.noOfSquarePerRow; i++)
        //    {
        //        if (players[0].firstThreeRowSquare[i].SquareId != index)
        //            CreatePawn(players[0].firstThreeRowSquare[i].SquareId, players[0].allPawns, localPawns[2]);
        //    }

        //    if (!Constants.isAI)
        //        newPawnPlaced.AddSquareID(index);
        //}
        //else  // PLACE PLUS OR CROSS TOWER
        //{
        //    int towerIndex = 0;
        //    int pawnIndex = 0;
        //    if (CounterForPlacingPawn == 2)
        //    {
        //        towerIndex = 4;
        //        pawnIndex = 0;
        //    }
        //    else
        //    {
        //        towerIndex = 3;
        //        pawnIndex = 1;
        //    }
        ////    pawnIndex = SetHightlights(square, towerIndex, pawnIndex);
        //}
        #endregion

        int towerIndex = 0;
        int pawnIndex  = 0;

        if (Constants.isAI)
        {
            #region Multiplayer
            switch (CounterForPlacingPawn)
            {
            case 0:
                towerIndex = 4;
                pawnIndex  = 0;
                SetHightlights(square, towerIndex, pawnIndex);

                break;

            case 1:
                towerIndex = 3;
                pawnIndex  = 1;
                SetHightlights(square, towerIndex, pawnIndex);
                break;

            case 2:
                int index = square.SquareId;
                CreatePawn(index, players[0].allPawns, localPawns[5]);

                for (int i = 12; i < 12 + Constants.noOfSquarePerRow; i++)
                {
                    if (players[0].firstThreeRowSquare[i].SquareId != index)
                    {
                        CreatePawn(players[0].firstThreeRowSquare[i].SquareId, players[0].allPawns, localPawns[2]);
                    }
                }

                //send multiplayer data from here
                //if (!Constants.isAI)
                //    newPawnPlaced.AddSquareID(index);
                break;

            default:
                break;
            }
            #endregion
        }

        else
        {
            #region Multiplayer
            switch (CounterForPlacingPawn)
            {
            case 2:

                int index = square.SquareId;
                CreatePawn(index, players[0].allPawns, localPawns[5]);

                for (int i = 0; i < Constants.noOfSquarePerRow; i++)
                {
                    if (players[0].firstThreeRowSquare[i].SquareId != index)
                    {
                        CreatePawn(players[0].firstThreeRowSquare[i].SquareId, players[0].allPawns, localPawns[2]);
                    }
                }
                break;

            case 1:
                towerIndex = 3;
                pawnIndex  = 1;
                SetHightlights(square, towerIndex, pawnIndex);
                break;

            case 0:
                towerIndex = 4;
                pawnIndex  = 0;
                SetHightlights(square, towerIndex, pawnIndex);

                //send multiplayer data from here
                //if (!Constants.isAI)
                //    newPawnPlaced.AddSquareID(index);
                break;

            default:
                break;
            }
            #endregion
        }



        // Debug.Log("Counter for placing pawns: " + CounterForPlacingPawn);
        CounterForPlacingPawn++;
        if (CounterForPlacingPawn == 3)
        {
            gamePlay.ShowWarning(false);
        }

        #region Mulitplayer
        if (CounterForPlacingPawn == 3 && !Constants.isAI)
        {
            List <Square> initSquares = new List <Square>();
            initSquares = players[0].firstThreeRowSquare;
            List <GridData> newGridData = new List <GridData>();

            for (int i = 0; i < initSquares.Count; i++)
            {
                GridData gridData = new GridData(initSquares[i].squareId2, initSquares[i].occupiedPawn.currentPawnType.ToString(), initSquares[i].occupiedPawn.Rank.ToString());
                newGridData.Add(gridData);
            }
            PawnPlacements pawnPlacements = new PawnPlacements(Database.GetString(Database.Key.ROOM_NAME), Database.GetString(Database.Key.ROOM_ID), Database.GetString(Database.Key.PLAYER_ID), newGridData);
            //Send Data to server
            SocketController.instance.SendPawnPlacements(pawnPlacements);
        }
        #endregion
    }