Ejemplo n.º 1
0
 public void LookAt(Player player, int uid, Group group, bool look)
 {
     if (look)
     {
         if (group.Visibility != GroupVisibility.Everybody)
             foreach (Card c in group)
             {
                 c.playersLooking.Add(player);
                 c.RevealTo(Enumerable.Repeat(player, 1));
             }
         group.lookedAt.Add(uid, group.ToList());
         Program.TracePlayerEvent(player, "{0} looks at {1}.", player, group);
     }
     else
     {
         if (!group.lookedAt.ContainsKey(uid))
         { Program.TraceWarning("[LookAtTop] Protocol violation: unknown unique id received."); return; }
         if (group.Visibility != GroupVisibility.Everybody)
         {
             foreach (Card c in group.lookedAt[uid])
                 c.playersLooking.Remove(player);
         }
         group.lookedAt.Remove(uid);
         Program.TracePlayerEvent(player, "{0} stops looking at {1}.", player, group);
     }
 }