示例#1
0
    public void SendMoveAfterRestarting(SC_MultiPlayer_TileLogic tile)
    {
        print("SendMove");
        Dictionary <string, object> _moveToSend = new Dictionary <string, object>();

        point _to = new point();

        _to.row = tile.Row;
        _to.col = tile.Col;

        SC_MultiPlayer_Globals.SoldierRank strength = currentSelectedPiece.piece.pieceStrengh;

        _moveToSend.Add("toRow", _to.row);
        _moveToSend.Add("toCol", _to.col);
        //_moveToSend.Add("number", currentSelectedPiece.name);

        _moveToSend.Add("strength", strength);
        if (currentSelectedPiece.piece != null)
        {
            int result = Int32.Parse(System.Text.RegularExpressions.Regex.Match(currentSelectedPiece.piece.name, @"\d+").Value);
            _moveToSend.Add("name", result);
        }

        string _jsonToSend = MiniJSON.Json.Serialize(_moveToSend);

        Debug.Log(_jsonToSend);
        WarpClient.GetInstance().sendMove(_jsonToSend);
    }
示例#2
0
    public void SendMove(SC_MultiPlayer_TileLogic tile)
    {
        if (isMyTurn)
        {
            print("SendMove");
            Dictionary <string, object> _moveToSend = new Dictionary <string, object>();

            point _from = new point();
            point _to   = new point();
            _to.row   = tile.row;
            _to.col   = tile.col;
            _from.row = currentSelectedPiece.piece.currentTileRow;
            _from.col = currentSelectedPiece.piece.currentTileCol;
            _to.row   = tile.Row;
            _to.col   = tile.Col;

            SC_MultiPlayer_Globals.SoldierRank strength = currentSelectedPiece.piece.pieceStrengh;
            _moveToSend.Add("fromRow", _from.row);
            _moveToSend.Add("fromCol", _from.col);

            _moveToSend.Add("toRow", _to.row);
            _moveToSend.Add("toCol", _to.col);

            _moveToSend.Add("strength", strength);

            string _jsonToSend = MiniJSON.Json.Serialize(_moveToSend);
            Debug.Log(_jsonToSend);
            WarpClient.GetInstance().sendMove(_jsonToSend);
        }
    }
示例#3
0
    //opponet move

    public void OnMoveCompleted(MoveEvent _Move)
    {
        print("onMoveComplete.count = " + onMoveCompletedCounter);

        //Debug.Log("OnMoveCompleted " + _Move.getMoveData() + " " + _Move.getNextTurn() + " " + _Move.getSender());
        if (_Move.getSender() != SC_MultiPlayer_Globals.userName && _Move.getMoveData() != null && SC_MultiPlayer_Globals.GamePhase == SC_MultiPlayer_Globals.GameSituation.setPieces && onMoveCompletedCounter > 3 && doneRestarting == false)
        {
            Dictionary <string, object> _recievedData = MiniJSON.Json.Deserialize(_Move.getMoveData()) as Dictionary <string, object>;
            if (_recievedData != null)
            {
                int _toCol = 9 - Convert.ToInt32(_recievedData["toCol"]);
                int _toRow = 9 - Convert.ToInt32(_recievedData["toRow"]);
                //int _fromCol = 9 - Convert.ToInt32(_recievedData["fromCol"]);
                //int _fromRow = 9 - Convert.ToInt32(_recievedData["fromRow"]);

                SC_MultiPlayer_Globals.SoldierRank strength = (SC_MultiPlayer_Globals.SoldierRank)Enum.Parse(typeof(SC_MultiPlayer_Globals.SoldierRank), _recievedData["strength"].ToString());
                SC_MultiPlayer_View.Instance.movePieceToNewLocation(SC_MultiPlayer_Globals.Instance.unityObjects["Enemy (" + _recievedData["name"] + ")"].GetComponent <SC_MultiPlayer_PieceLogic>(), gameBoard[_toRow][_toCol].tile.GetComponent <SC_MultiPlayer_TileLogic>());
                print("inside the first if!!!!!");
            }
        }
        else if (hasTransferedInfo && _Move.getSender() != SC_MultiPlayer_Globals.userName)
        {
            print("(hasTransferedInfo && _Move.getSender() != SC_MultiPlayer_Globals.userName)");
            hasTransferedInfo = false;
            SetEnemyPieces(_Move);
            InitializeEnemyPieces();
        }

        else if (_Move.getSender() != SC_MultiPlayer_Globals.userName && _Move.getMoveData() != null && onMoveCompletedCounter > 2 && SC_MultiPlayer_Globals.GamePhase == SC_MultiPlayer_Globals.GameSituation.Running)
        {
            print("before the dictonery1");
            Dictionary <string, object> _recievedData = MiniJSON.Json.Deserialize(_Move.getMoveData()) as Dictionary <string, object>;
            if (_recievedData != null)
            {
                //print("_recievedData= fromCol" + _recievedData["fromCol"] + " toCol= " + _recievedData["toCol"]);
                ProccessMove(_recievedData);
            }
        }


        if (_Move.getNextTurn() == SC_MultiPlayer_Globals.userName)
        {
            isMyTurn = true;
        }
        else
        {
            isMyTurn = false;
        }

        SwitchTurn();
        onMoveCompletedCounter++;
    }
示例#4
0
    private void ProccessMove(Dictionary <string, object> recievedData)
    {
        int _toCol, _fromCol, _toRow, _fromRow;

        //SC_MultiPlayer_Globals.SoldierRank strength = (SC_MultiPlayer_Globals.SoldierRank) recievedData["strength"];
        SC_MultiPlayer_Globals.SoldierRank strength = (SC_MultiPlayer_Globals.SoldierRank)Enum.Parse(typeof(SC_MultiPlayer_Globals.SoldierRank), recievedData["strength"].ToString());



        _fromCol = 9 - Convert.ToInt32(recievedData["fromCol"]);
        _fromRow = 9 - Convert.ToInt32(recievedData["fromRow"]);
        _toRow   = 9 - Convert.ToInt32(recievedData["toRow"]);
        _toCol   = 9 - Convert.ToInt32(recievedData["toCol"]);

        print("fromRow= " + _fromRow + " fromCol= " + _fromCol + " toRow" + _toRow + " toCol= " + _toCol);
        currentSelectedPiece.piece = gameBoard[_fromRow][_fromCol].piece;
        EnemyTurn(_toRow, _toCol, _fromRow, _fromCol);
    }