Esempio n. 1
0
        public static AskForCardUsageResponse Parse(int id, ISkill skill, List <Card> cards, List <Player> players, int wrtPlayerId)
        {
            AskForCardUsageResponse response = new AskForCardUsageResponse();

            response.Id        = id;
            response.SkillItem = SkillItem.Parse(skill);
            if (cards == null)
            {
                response.CardItems = null;
            }
            else
            {
                response.CardItems = new List <CardItem>();
                foreach (var card in cards)
                {
                    response.CardItems.Add(CardItem.Parse(card, wrtPlayerId));
                }
            }
            if (players == null)
            {
                response.PlayerItems = null;
            }
            else
            {
                response.PlayerItems = new List <PlayerItem>();
                foreach (var player in players)
                {
                    response.PlayerItems.Add(PlayerItem.Parse(player));
                }
            }
            return(response);
        }
Esempio n. 2
0
        public void TryAskForCardUsage(Prompt prompt, ICardUsageVerifier verifier)
        {
            ISkill        skill;
            List <Card>   cards;
            List <Player> players;

            if (!IsPlayable)
            {
                if (IsUiDetached)
                {
                    return;
                }
                uiProxy.AskForCardUsage(prompt, verifier, out skill, out cards, out players);
                return;
            }
            if (IsUiDetached || !uiProxy.AskForCardUsage(prompt, verifier, out skill, out cards, out players))
            {
                Trace.TraceInformation("Invalid answer");
                client.Send(AskForCardUsageResponse.Parse(numQuestionsAsked, null, null, null, client.SelfId));
            }
            else
            {
                client.Send(AskForCardUsageResponse.Parse(numQuestionsAsked, skill, cards, players, client.SelfId));
            }
        }
Esempio n. 3
0
 public void SendCardUsage(ISkill skill, List <Card> cards, List <Player> players, ICardUsageVerifier verifier)
 {
     for (int i = 0; i < server.MaxClients; i++)
     {
         if (cards != null)
         {
             foreach (var c in cards)
             {
                 if (!(skill != null && skill.Helper.NoCardReveal) && !(verifier.Helper.NoCardReveal))
                 {
                     if (c.Place.DeckType != DeckType.Equipment && c.Place.DeckType != DeckType.DelayedTools)
                     {
                         c.RevealOnce = true;
                     }
                 }
                 if (c.Place.DeckType == DeckType.Equipment || c.Place.DeckType == DeckType.DelayedTools)
                 {
                     c.RevealOnce = false;
                 }
             }
         }
         server.SendPacket(i, AskForCardUsageResponse.Parse(proxy.QuestionId, skill, cards, players, i));
     }
 }
Esempio n. 4
0
 public static AskForCardUsageResponse Parse(int id, ISkill skill, List<Card> cards, List<Player> players, int wrtPlayerId)
 {
     AskForCardUsageResponse response = new AskForCardUsageResponse();
     response.Id = id;
     response.SkillItem = SkillItem.Parse(skill);
     if (cards == null) response.CardItems = null;
     else
     {
         response.CardItems = new List<CardItem>();
         foreach (var card in cards)
         {
             response.CardItems.Add(CardItem.Parse(card, wrtPlayerId));
         }
     }
     if (players == null) response.PlayerItems = null;
     else
     {
         response.PlayerItems = new List<PlayerItem>();
         foreach (var player in players)
         {
             response.PlayerItems.Add(PlayerItem.Parse(player));
         }
     }
     return response;
 }
Esempio n. 5
0
 public void SkipAskForCardUsage()
 {
     client.Send(AskForCardUsageResponse.Parse(numQuestionsAsked, null, null, null, client.SelfId));
 }