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(); }
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); } } }
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); } }