Exemplo n.º 1
0
        private void OnAttackPushResponse(NetworkMessage msg)
        {
            Debug.Log("Push Attack Result");

            AttackPushResponseMessage message = msg.ReadMessage <AttackPushResponseMessage>();

            message.ActionNumber = AdjustActionNumber(message.ActionNumber);

            GameState.ConfirmAttackPushResult((AttackResult)message.AttackResultId, message.AvailablePushDestinationIds, message.AttackingMonsterTypeId, message.DefendingMonsterTypeId, message.ActionNumber, message.SubActionNumber);
        }
Exemplo n.º 2
0
        private void OnAttackPushResponse(NetworkMessage msg)
        {
            AttackPushResponseMessage message = msg.ReadMessage <AttackPushResponseMessage>();

            bool canPush        = (message.ActionNumber == 1 || message.ActionNumber == 2) && message.SubActionNumber == 6;
            bool canCounterPush = (message.ActionNumber == 3 || message.ActionNumber == 4) && message.SubActionNumber == 7;

            if (message.AvailablePushDestinationIds.Any() && (canPush || canCounterPush))
            {
                int selectedDestinationNodeId = message.AvailablePushDestinationIds.ElementAt(_random.Next(message.AvailablePushDestinationIds.Length));
                NetClient.Send(CustomMessageTypes.PushDestinationRequest, new PushDestinationRequestMessage
                {
                    ActionNumber    = message.ActionNumber,
                    SubActionNumber = message.SubActionNumber,
                    SelectedNodeId  = selectedDestinationNodeId
                });
            }
        }