private void DealCards() { Dictionary <int, List <int> > result = _dealer.Deal(_playerList.Count); foreach (var kv in result) { _ddzGameData.PlayerInfoDic[kv.Key].Handcards = kv.Value; } DealCard msg = new DealCard(); for (int i = 0; i < _playerList.Count; i++) { msg.StartSeat = 0; msg.HandCards.Clear(); foreach (var cardId in _ddzGameData.PlayerInfoDic[i].Handcards) { msg.HandCards.Add(cardId); } foreach (var playerInfo in _ddzGameData.PlayerInfoDic) { msg.LeftCardNum.Add(playerInfo.Value.Handcards.Count); } msg.ThinkTime = 20; msg.StartSeat = 0; SendMsgToClient(_playerList[i], MessageDefine.G2C_DEAL_CARDS, msg); } }
//Rune hooks for the play area public void DealRune(Rune rune, Action action) { DealCard dc = rune as DealCard; Controller player = EntityManager.Singelton.GetEntity(dc.controller_uid) as Controller; if (player == null) { Debug.Log("Could not find controller in EntityManager, bad Guid"); action(); return; } Card card = EntityManager.Singelton.GetEntity(dc.card_uid) as Card; if (card == null) { Debug.Log("Could not find card in EntityManager, bad Guid " + dc.card_uid); action(); return; } float yPos = 0; if (dc.controller_uid == homeGuid) { yPos = -2.0f; } else if (dc.controller_uid == awayGuid) { yPos = 4.0f; } GameObject go = Resources.Load <GameObject>(CARD_AVATAR_PREFAB_LOCATION); go = GameObject.Instantiate(go); go.name = card.GetName() + " " + dc.card_uid; if (String.IsNullOrEmpty(card.GetName())) { go.name = "UnknowCard"; } go.transform.position = new Vector3(6, yPos, -3); string useGuid = Guid.NewGuid().ToString(); if (card.GetCardType() == CardType.unknown) { go.GetComponent <CardAvatar>().SetupBlankCard(useGuid, player.GetGuid()); } else { go.GetComponent <CardAvatar>().Setup(card, useGuid, player.GetGuid()); } card.SetCardAvatar(go.GetComponent <CardAvatar>()); go.GetComponent <CardAvatar>().SetControllerGuid(dc.controller_uid); EntityManager.Singelton.AddEntity(useGuid, go.GetComponent <CardAvatar>()); AddCardToHand(go.GetComponent <CardAvatar>(), dc.controller_uid, action); }
public CardInformation GetCard(int deck) { CardInformation output; if (deck <= 24) { output = new DealCard(); output.Populate(deck); return(output); } output = new MailCard(); output.Populate(deck); return(output); }
void IDealProcesses.SetUpDeal() { var list = _gameContainer.Random.GenerateRandomList(24); if (list.Count != 24) { throw new BasicBlankException($"Must have 24 deal cards, not {list.Count} cards"); } _gameContainer.SaveRoot !.DealListLeft.Clear(); list.ForEach(index => { DealCard thisCard = (DealCard)_gameContainer !.GetCard(index); _gameContainer.SaveRoot.DealListLeft.Add(thisCard); }); _gameContainer.SaveRoot.YardSaleDealCard = _gameContainer.SaveRoot.DealListLeft.First(); _gameContainer.SaveRoot.DealListLeft.RemoveFirstItem(); }
private void RemovePlayerDeal(DealCard thisCard) { _gameContainer.SingleInfo !.Hand.RemoveSpecificItem(thisCard); _gameContainer.SaveRoot !.OutCards.Add(thisCard); }
private async Task CurrentDealList_ObjectClickedAsync(DealCard payLoad, int index) { await _processes.BuyerSelectedAsync(payLoad.Deck); }