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); }
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)); } }
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)); } }
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; }
public void SkipAskForCardUsage() { client.Send(AskForCardUsageResponse.Parse(numQuestionsAsked, null, null, null, client.SelfId)); }