本文整理汇总了C#中Group.Take方法的典型用法代码示例。如果您正苦于以下问题:C# Group.Take方法的具体用法?C# Group.Take怎么用?C# Group.Take使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Group
的用法示例。
在下文中一共展示了Group.Take方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GroupWindow
public GroupWindow(Group group, PilePosition position, int count)
: this()
{
_shouldShuffleOnClose = false;
_id = Program.GameEngine.GetUniqueId();
_position = position;
_count = count;
DataContext = _group = group;
switch (position)
{
case PilePosition.All:
Title = group.FullName;
cardsList.Cards = group.Cards;
break;
case PilePosition.Top:
Title = string.Format("{0} Top {1} cards", group.FullName, count);
cardsList.Cards = new ObservableCollection<Card>(group.Take(count));
cardsList.RestrictDrop = true;
break;
case PilePosition.Bottom:
Title = string.Format("{0} Bottom {1} cards", group.FullName, count);
cardsList.Cards = new ObservableCollection<Card>(group.Skip(Math.Max(0, group.Count - count)));
cardsList.RestrictDrop = true;
break;
}
if (cardsList.Cards != group.Cards)
((INotifyCollectionChanged) group.Cards).CollectionChanged += CardsChanged;
// The shuffle link is confusing at best when a subset of the group is displayed
if (position != PilePosition.All)
shuffleLink.Visibility = Visibility.Collapsed;
// If the whole group is visible to everyone, there's nothing to be done, really.
if (group.Visibility == DataNew.Entities.GroupVisibility.Everybody)
return;
SendLookAtRpc(true);
}
示例2: LookAtTop
public void LookAtTop(Player player, int uid, Group group, int count, bool look)
{
if (look)
{
var cards = group.Take(count);
foreach (Card c in cards)
{
c.PlayersLooking.Add(player);
c.RevealTo(Enumerable.Repeat(player, 1));
}
group.LookedAt.Add(uid, cards.ToList());
Program.TracePlayerEvent(player, "{0} looks at {1} top {2} cards.", player, group, count);
}
else
{
if (!group.LookedAt.ContainsKey(uid))
{ Program.TraceWarning("[LookAtTop] Protocol violation: unknown unique id received."); return; }
foreach (Card c in group.LookedAt[uid])
c.PlayersLooking.Remove(player);
Program.TracePlayerEvent(player, "{0} stops looking at {1} top {2} cards.", player, group, count);
group.LookedAt.Remove(uid);
}
}