当前位置: 首页>>代码示例>>C#>>正文


C# Group.Take方法代码示例

本文整理汇总了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);
        }
开发者ID:jonbonne,项目名称:OCTGN,代码行数:40,代码来源:GroupWindow.xaml.cs

示例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);
     }
 }
开发者ID:Kamalisk,项目名称:OCTGN,代码行数:23,代码来源:ClientHandler.cs


注:本文中的Group.Take方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。