public void LookAtBottom(Player player, int uid, Group group, int count, bool look) { if (look) { var skipCount = Math.Max(0, group.Count - count); var cards = group.Skip(skipCount); foreach (var c in cards) { c.PlayersLooking.Add(player); } group.LookedAt.Add(uid, cards.ToList()); Program.GameMess.PlayerEvent(player, "looks at {0} bottom {1} cards.", group, count); } else { if (!group.LookedAt.ContainsKey(uid)) { Program.GameMess.Warning("[LookAtTop] Protocol violation: unknown unique id received."); return; } foreach (var c in group.LookedAt[uid]) { c.PlayersLooking.Remove(player); } Program.GameMess.PlayerEvent(player, "stops looking at {0} bottom {1} cards.", group, count); group.LookedAt.Remove(uid); } }
public void LookAtBottom(Player player, int uid, Group group, int count, bool look) { if (look) { int skipCount = Math.Max(0, group.Count - count); var cards = group.Skip(skipCount); foreach (Card c in cards) { c.PlayersLooking.Add(player); c.RevealTo(Enumerable.Repeat(player, 1)); } group.LookedAt.Add(uid, cards.ToList()); Program.GameMess.PlayerEvent(player, "looks at {0} bottom {1} cards.", group, count); } else { if (!group.LookedAt.ContainsKey(uid)) { Program.GameMess.Warning("[LookAtTop] Protocol violation: unknown unique id received."); return; } foreach (Card c in group.LookedAt[uid]) c.PlayersLooking.Remove(player); Program.GameMess.PlayerEvent(player, "stops looking at {0} bottom {1} cards.", group, count); group.LookedAt.Remove(uid); } }