コード例 #1
0
ファイル: PlayerController.cs プロジェクト: Avatarchik/EPoker
        public override void ShowCardsToPile(PlayerViewModel viewModel)
        {
            base.ShowCardsToPile(viewModel);

            List <CardInfo> cardInfoList = JsonConvert.DeserializeObject <List <CardInfo> > (
                Convert.ToString(Network.Client.CurrentRoom.CustomProperties ["current_cards"])
                );

            // 清除牌堆原有的牌
            CoreGameRoot.Pile.Cards.Clear();

            foreach (CardInfo ci in cardInfoList)
            {
                // 1.查找手牌的这一张
                CardViewModel card = viewModel.HandCards.Where(cardVM => CardInfo.ValueEqual(cardVM.Info, ci)).FirstOrDefault();
                if (card != null)
                {
                    // 1.1.还原一些属性
                    card.ExecuteDeselectCard();
                    card.OwnerActorId = -1;
                    card.Face         = CardFace.FaceUp;

                    // 2.牌堆中加入相同的这一张牌
                    CoreGameRoot.Pile.Cards.Add(card);

                    // 3.删除手牌这一张
                    viewModel.HandCards.Remove(card);
                }
            }

            viewModel.ExecuteReorder();
            CoreGameRoot.Pile.ExecutePileCardsReorder();
        }
コード例 #2
0
ファイル: CardTouchVC.cs プロジェクト: Avatarchik/EPoker
        public void OnTouchStart(Gesture gesture)
        {
            PlayerViewModel player = Card.CoreGameRoot.GetPlayerByActorId(Card.OwnerActorId);

            if (player != null && player.Status is MatchDeal)
            {
                CardViewModel vm = GetCard(gesture);
                if (vm != null)
                {
                    // 确定本次的选择模式: 选择 or 取消选择
                    if (vm.IsSelected)
                    {
                        CurrentSelectMode = CardSelectMode.Deselect;
                    }
                    else
                    {
                        CurrentSelectMode = CardSelectMode.Select;
                    }

                    if (CurrentSelectMode == CardSelectMode.Select)
                    {
                        vm.ExecuteSelectCard();
                    }
                    else if (CurrentSelectMode == CardSelectMode.Deselect)
                    {
                        vm.ExecuteDeselectCard();
                    }

//					Debug.Log ("OnTouchStart " + vm.CardInfoStr);
                }
            }
        }
コード例 #3
0
ファイル: CardTouchVC.cs プロジェクト: Avatarchik/EPoker
        public void OnTouchDown(Gesture gesture)
        {
            CardViewModel vm = GetCard(gesture);

            if (vm != null)
            {
                if (CurrentSelectMode == CardSelectMode.Select)
                {
                    vm.ExecuteSelectCard();
                }
                else if (CurrentSelectMode == CardSelectMode.Deselect)
                {
                    vm.ExecuteDeselectCard();
                }

//				Debug.Log ("OnTouchDown " + vm.CardInfoStr);
            }
        }