Exemplo n.º 1
0
        public void OnSnapshotReceived(JUMPCommand_Snapshot data)
        {
            WordsWar_Snapshot snap = new WordsWar_Snapshot(data.CommandData);

            GameStatus.text    = snap.Stage.ToString();
            MyScore.text       = snap.MyScore.ToString();
            OpponentScore.text = snap.OpponentScore.ToString();
            UIStage            = snap.Stage;
            if (UIStage == WordsWarGameStages.SendBoardID)
            {
                Message.text = "Receiving board .. " + snap.BoardID.ToString();
                BoardSol     = BoardManager.GetBoard(snap.BoardID);

                Board.text = BoardSol.SolvedBoard.ToString().ToUpper();  // "Playing Board: " + snap.BoardID.ToString();
                WordsWarCommand_BoardReceived ack = new WordsWarCommand_BoardReceived(JUMPMultiplayer.PlayerID, snap.BoardID);
                Singleton <JUMPGameClient> .Instance.SendCommandToServer(ack);
            }
            else if (UIStage == WordsWarGameStages.CountingDown)
            {
                TimeLeft.text = snap.CountingDownRemaining.ToString("0.");
            }
            else if (UIStage == WordsWarGameStages.Playing)
            {
                TimeLeft.text = snap.PlayTimeRemaining.ToString("0.");
            }
            else if (UIStage == WordsWarGameStages.GameOver)
            {
                Message.text = (snap.WinnerPlayerID == JUMPMultiplayer.PlayerID) ? "You Won :)" : "You Lost :(";
            }
        }
Exemplo n.º 2
0
        public void ProcessCommand(JUMPCommand command)
        {
            // Players received the board id and sends AckBoard back
            if ((command.CommandEventCode == WordsWarCommand_BoardReceived.BoardReceived_EventCode) && (GameState.Stage == WordsWarGameStages.SendBoardID))
            {
                WordsWarCommand_BoardReceived ackBoard = command as WordsWarCommand_BoardReceived;
                WordsWarPlayer player;

                if (GameState.Players.TryGetValue(ackBoard.PlayerID, out player))
                {
                    player.BoardReceived = true;
                }

                // how many players received the board id?
                int NumPlayersAcked = GameState.Players.Count(p => p.Value.IsConnected);
                if (NumPlayersAcked == JUMPOptions.NumPlayers)
                {
                    // move on to the next stage, the countdown
                    GameState.Stage = WordsWarGameStages.CountingDown;
                    GameState.CountingDownRemaining = CountDownSeconds;
                }
            }
            else if ((command.CommandEventCode == WordsWarCommand_WordFound.WordFound_EventCode) && (GameState.Stage == WordsWarGameStages.Playing))
            {
                WordsWarCommand_WordFound wordFound = command as WordsWarCommand_WordFound;
                WordsWarPlayer            player;

                if (GameState.Players.TryGetValue(wordFound.PlayerID, out player))
                {
                    string found = wordFound.WordFound.ToLower();
                    if (!player.WordsFound.Contains(wordFound.WordFound))
                    {
                        player.Score += found.Length;
                        player.WordsFound.Add(found);
                    }
                }
            }
        }