public override void OnEndTurn(EndTurnMessage msg)
    {
        base.OnEndTurn(msg);

        if (msg.isRecipientTheActivePlayer)
        {
            gameUI.SetEndTurnButtonEnabled(false);

            foreach (var card in playerBoardCards)
            {
                card.OnEndTurn();
            }

            if (currentCreature != null)
            {
                playerBoardCards.Remove(currentCreature);
                RearrangeBottomBoard();

                playerInfo.namedZones["Hand"].AddCard(currentCreature.card);
                playerInfo.namedZones["Board"].RemoveCard(currentCreature.card);

                Destroy(currentCreature.gameObject);
                currentCreature = null;
            }

            if (currentSpellCard != null)
            {
                Destroy(currentSpellCard.GetComponent <BoardSpell>());
                currentSpellCard = null;
                RearrangeHand();
            }
        }

        gameUI.StopCountdown();
    }
        public void UserApp_EndTurnConversation_Test()
        {
            TestAppWorker testAppWorker = new TestAppWorker();

            testAppWorker.StartTest();

            var fakeGameManager = new UdpCommunicator()
            {
                MinPort         = 10000,
                MaxPort         = 10999,
                Timeout         = 1000,
                EnvelopeHandler = ProcessEnvelope1
            };

            fakeGameManager.Start();

            IPEndPoint targetEndPoint = new IPEndPoint(IPAddress.Loopback, fakeGameManager.Port);
            Message    msg1           = new EndTurnMessage(1, 6);
            Envelope   env            = new Envelope(msg1, targetEndPoint);

            Assert.IsNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId));

            testAppWorker.commFacility.Process(env);

            Assert.IsNotNull(testAppWorker.commFacility.convDictionary.GetConv(msg1.convId));

            Thread.Sleep(100);

            Assert.AreNotSame(msg1, _lastIncomingEnvelope1);
            Assert.IsNotNull(_lastIncomingEnvelope1);
            Assert.IsNotNull(_lastIncomingEnvelope1.message);
            Assert.AreEqual(msg1.msgId, _lastIncomingEnvelope1.message.msgId);
            Assert.AreEqual(msg1.convId, _lastIncomingEnvelope1.message.convId);
        }
Beispiel #3
0
        public ActionResult EndTurn()
        {
            var message = new EndTurnMessage(playerId: Client.PlayerId);

            Client.AcceptMessage(message);
            return(new EmptyResult());
        }
        public void TestEndTurnMessage()
        {
            EndTurnMessage origMessage = new EndTurnMessage(1, 2);

            byte[]         bytes          = origMessage.Encode();
            EndTurnMessage decodedMessage = EndTurnMessage.Decode(bytes);

            Assert.AreEqual(origMessage.MessageType, 9, "Incorrect MessageType");
            Assert.AreEqual(origMessage.MessageType, decodedMessage.MessageType, "MessageType did not match");
            Assert.AreEqual(origMessage.GameId, decodedMessage.GameId, "GameId did not match");
            Assert.AreEqual(origMessage.CurrentPlayerId, decodedMessage.CurrentPlayerId, "CurrentPlayerId did not match");
        }
Beispiel #5
0
    private void OnEndTurnMessage(MessageBase _msg, NetworkConnection _connection)
    {
        EndTurnMessage _endTurnMessage = _msg as EndTurnMessage;

        foreach (Player p in client.localPlayers)
        {
            if (p.guid == _endTurnMessage.recepientGUID)
            {
                p.OnEndTurnMessage(_endTurnMessage);
            }
        }
    }
Beispiel #6
0
    /// <summary>
    /// Called when the current turn ends.
    /// </summary>
    /// <param name="msg">End turn message.</param>
    public override void OnEndTurn(EndTurnMessage msg)
    {
        base.OnEndTurn(msg);
        StopAllCoroutines();

        foreach (var card in realPlayer.playerInfo.namedZones["Board"].cards)
        {
            if (numTurnsOnBoard.ContainsKey(card.instanceId))
            {
                numTurnsOnBoard[card.instanceId] += 1;
            }
            else
            {
                numTurnsOnBoard.Add(card.instanceId, 1);
            }
        }
    }
Beispiel #7
0
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            var message = new EndTurnMessage(client.PlayerId);

            client.AcceptMessage(message);
        }
Beispiel #8
0
 internal virtual void OnEndTurnMessage(EndTurnMessage _endTurnMessage)
 {
     LoadPlayerState(ref playerData, _endTurnMessage.playerData);
     LoadPlayerState(ref opponentData, _endTurnMessage.opponentData);
     activePlayer = false;
 }
Beispiel #9
0
 public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
 {
     var message = new EndTurnMessage(client.PlayerId);
     client.AcceptMessage(message);
 }