示例#1
0
        private void onResults(SocketIOClient.Messages.IMessage data)
        {
            Console.WriteLine("\n on results \n");
            Console.WriteLine(data.Json.ToJsonString());

            for (int i = 0; i < MyGame.NUMBER_OF_PLAYER; ++i)
            {
                PlayerData.Instance[i].Score = _map.getNbOfZonesForOwner(i);
                Console.WriteLine("\n\n player " + i + " score :" + PlayerData.Instance[i].Score + "\n");
            }

            //ResultRoot res = Newtonsoft.Json.JsonConvert.DeserializeObject<ResultRoot>(data.Json.ToJsonString());
            endGameCallback();
        }
        private void event_endgame(SocketIOClient.Messages.IMessage message)
        {
            Debug.WriteLine("\nevent_endgame:\n" + message.MessageText);
            EventJson <EndGameData> received = JsonConvert.DeserializeObject <EventJson <EndGameData> >(message.Json.ToJsonString());

            //Validate
            if (!received.Validate())
            {
                return;
            }

            EndGameData data = received.args[0].data;

            EndGameTriggered?.Invoke(this, data);
        }
示例#3
0
        private void MajPlayerInfo(SocketIOClient.Messages.IMessage data)
        {
            Console.WriteLine("\n \n " + data.Json.ToJsonString() + "\n \n");
            Console.WriteLine("in maj player info");
            PlayerInfo player = null;
            //player = PlayerInfo.Deserialize(message.Json.ToJsonString());//(PlayerInfo)message.Json.GetFirstArgAs<PlayerInfo>();
            PlayerInfoRoot obj = Newtonsoft.Json.JsonConvert.DeserializeObject <PlayerInfoRoot>(data.Json.ToJsonString());

            player = obj.args[0];
            for (int i = 0; i < player.territories.Count; ++i)
            {
                Console.WriteLine(" setting zone : " + (player.territories[i] + 1) + " owner to " + player.gameID);
                _map.setZoneOwner(player.territories[i] + 1, player.gameID);
            }
        }
示例#4
0
        //Wait for the player X to make a move
        //Scan for other players moves
        //Scan for illegual player moves

        private void onMoveRequested(SocketIOClient.Messages.IMessage data)
        {
            clearProgressAndDialog();

            Console.WriteLine("\nmessage : \n" + data.Json.ToJsonString() + "\n");

            //do stuff
            MoveData move;
            MoveRoot root = Newtonsoft.Json.JsonConvert.DeserializeObject <MoveRoot>(data.Json.ToJsonString());

            move = root.args[0];

            Console.WriteLine(" \n player to move is : " + move.id + "\n");

            initMove(move.id);
        }
示例#5
0
        private void OnPlayerConnect(SocketIOClient.Messages.IMessage message)
        {
            Console.WriteLine("OnPlayerConnect");
            //Get info from message
            Console.WriteLine("\n message : " + message.Json.ToJsonString() + "\n");
            PlayerInfo player = null;

            PlayerInfoRoot obj = Newtonsoft.Json.JsonConvert.DeserializeObject <PlayerInfoRoot>(message.Json.ToJsonString());

            player = obj.args[0];
            Console.WriteLine("player name " + player.pseudo);
            if (PlayerData.Instance[player.gameID].Name == null || PlayerData.Instance[player.gameID].Name.Length == 0)
            {
                PlayerData.Instance[player.gameID].Name = player.pseudo;
                InitPlayerUI(player.gameID);
            }
        }
示例#6
0
        private void onCaptureTerritories(SocketIOClient.Messages.IMessage data)
        {
            Console.WriteLine("\n oncaptureteritories \n" + data.Json.ToJsonString());
            //Switch update to pick zone
            List <int> players;
            List <int> nbZones = new List <int>()
            {
                2, 1, 1, 0
            };
            CaptureInfo     capInfo;
            CaptureInfoRoot obj = Newtonsoft.Json.JsonConvert.DeserializeObject <CaptureInfoRoot>(data.Json.ToJsonString());

            capInfo       = obj.args[0];
            players       = capInfo.orderedPlayers;
            _updateAction = delegate(float delta) { pickZonesForPLayers(players, nbZones, delta); };
            clearProgressAndDialog();
        }
示例#7
0
        private void onQuestion(SocketIOClient.Messages.IMessage data)
        {
            Console.WriteLine("\nonQuestion\n");
            Console.WriteLine("\n\n");
            Console.WriteLine(data.Json.ToJsonString());
            Console.WriteLine("\n\n");

            initProgressBar();

            QuestionDataRoot root = Newtonsoft.Json.JsonConvert.DeserializeObject <QuestionDataRoot>(data.Json.ToJsonString());

            //QuestionData questionData = root.args[0];

            _lastQestionText = root.args[0];

            UpdateAction = questionWaitUpdate;
        }
示例#8
0
        private void onBattleResult(SocketIOClient.Messages.IMessage data, Commander command, int fightZone)
        {
            Console.WriteLine("\nonBattleResult\n");

            Console.WriteLine("\n" + data.Json.ToJsonString() + "\n");

            BattleResult     br;
            BattleResultRoot root = Newtonsoft.Json.JsonConvert.DeserializeObject <BattleResultRoot>(data.Json.ToJsonString());

            br = root.args[0];

            Console.WriteLine("winner : " + br.winner + " looser : " + br.loser + " attacker : " + command.Owner + " fightzone : " + fightZone);

            //Display answers

            List <OrderedAnswer> answers   = new List <OrderedAnswer>();
            OrderedAnswer        answerWin = new OrderedAnswer();

            answerWin.id    = br.winner;
            answerWin.time  = 0f;
            answerWin.value = br.winVal;

            OrderedAnswer answerLoss = new OrderedAnswer();

            answerLoss.id    = br.loser;
            answerLoss.time  = 0f;
            answerLoss.value = br.lossVal;

            answers.Add(answerWin);
            answers.Add(answerLoss);

            _radialUI = null;

            initAnswerUI(answers);

            clearProgressAndDialog();

            Action endCallback = delegate() { processBattleResults(br.winner, br.loser, fightZone, command); };

            _timeSinceAnswerDisplayStart = 0f;
            UpdateAction = delegate(float dt) { answersDisplayUpdate(dt, endCallback); };
        }
示例#9
0
        private void onQuestionAnswered(SocketIOClient.Messages.IMessage data)
        {
            Console.WriteLine(" on question answer message : \n" + data.Json.ToJsonString());

            AnswerList  answers;
            AnswersRoot obj = Newtonsoft.Json.JsonConvert.DeserializeObject <AnswersRoot>(data.Json.ToJsonString());

            answers = obj.args[0];

            initAnswerUI(answers.orderedAnswers);

            clearProgressAndDialog();

            /*ServerCom.Instance.Socket.Emit("timeout", new
             * {
             *  id = 0//_questionId
             * });*/

            _timeSinceAnswerDisplayStart = 0f;
            UpdateAction = delegate(float dt) { answersDisplayUpdate(dt, afterAnswerDisplayPhase1); };
        }
示例#10
0
 private void event_connect(SocketIOClient.Messages.IMessage message)
 {
     Connected?.Invoke(this, EventArgs.Empty);
 }
示例#11
0
 private void onPlaceCommanders(SocketIOClient.Messages.IMessage data)
 {
     _updateAction = placeCommanderUpdate;
 }