public int Odds;//赔率 public JudgeFunction(CardLevel level, Func <HandCard, bool> fun, int cardNumLimit, int odds) { this.Level = level; this.Fun = fun; this.CardNumLimit = cardNumLimit; this.Odds = odds;//初始赔率为0代表 需要重新计算 }
public void LevelSelectionControls(GameObject hit) { CardLevel card = hit.transform.gameObject.GetComponent <CardLevel>(); if (card != null && !menuUI.ACardInfoIsShown && !menuUI.IsACardMoving && !menuUI.IsACardInfoMoving && !menuUI.IsACardInfoMovingForShowing) { AudioManager.Instance.PlayOneShot(AudioManager.Instance.paperSelectSound, 0.5f); if (card.gameObject == menuUI.LevelCardSelected) { menuUI.LevelCardSelected.GetComponent <CardLevel>().IsSelected = false; menuManager.CardLevelSelected = -1; menuManager.DeckOfCardsSelected = string.Empty; if (menuManager.currentMiniature != null) { GameObject.Destroy(menuManager.currentMiniature.gameObject); } GameManager.Instance.ListEventSelected.Clear(); menuManager.SetActiveChatBoxes(false); menuUI.previousCardSelected = null; } else { menuUI.previousCardSelected = menuUI.LevelCardSelected; menuUI.LevelCardSelected = card.gameObject; menuUI.LevelCardSelected.GetComponent <CardLevel>().IsSelected = true; menuManager.CardLevelSelected = card.levelIndex; menuManager.DeckOfCardsSelected = Leveldb.GetLevelById(card.levelIndex).deckId; menuManager.currentMiniature = Instantiate(menuManager.prefabsMiniatures[card.levelIndex - 1], menuManager.trVortex.position + Vector3.up * 0.2f, Quaternion.identity).GetComponent <Miniature>(); menuManager.currentMiniature.bStartHidden = true; GameManager.Instance.ListEventSelected.Clear(); for (int i = 0; i < Leveldb.GetLevelById(card.levelIndex).listEventsId.Count; i++) { if (GameManager.Instance.PersistenceLoader.Pd.dicPersistenceEvents[Leveldb.GetLevelById(card.levelIndex).listEventsId[i]] == true) { GameManager.Instance.ListEventSelected.Add(Leveldb.GetLevelById(card.levelIndex).listEventsId[i]); } } menuManager.SetActiveChatBoxes(true); menuUI.IsACardMoving = true; } menuUI.UpdateDeckSelected(); menuUI.UpdateStartButton(); boxOpener.UpdateLockAspect(); } }
public void UpdateCardStatsFromEditor(CardType cardType, CardLevel cardLevel, string name, int cost, string ability, string flavor, GameObject instanceToSummon) { type = cardType; level = cardLevel; displayName = name; useCost = cost; abilityText = ability; flavorText = flavor; toSummon = instanceToSummon; }
private void RefreshLevelBox() { if (CardLevels != null) { var LevelValueList = from obj in CardLevels select new KeyValuePair <string, RoleCardLevel>(CardLevel.RoleCardLevelName(obj), obj); LevelBox.DisplayMember = "Key"; LevelBox.ValueMember = "Value"; LevelBox.DataSource = LevelValueList.ToList(); } }
private bool TestResult(HandCard handCard, CardLevel level, int odds, int onesDigit = HandCardResult.INVALID_VALUE) { HandCardResult result = CardLevelJudgement.GetHandCardResult(handCard); if ((result.Level == level) && (result.Odds == odds)) { if ((onesDigit == HandCardResult.INVALID_VALUE) || (result.OnesDigit == onesDigit)) { return(true); } } Console.WriteLine("计算结果 level:{0} odd:{1} onesDigit:{2} 正确结果 level:{3} odd:{4} onesDigit:{5}", result.Level, result.Odds, result.OnesDigit, level, odds, onesDigit); return(false); }
private static int CaculateOdds(CardLevel level, HandCard handCard) { int result = 1; if (level == CardLevel.onesDigitIsZero) { result = 10; } if (handCard.IsSamePoint) { result = result * 2; } else if (handCard.IsSameKind) { result = result * handCard.Count; } return(result); }
private void InitTabControlPages() { foreach (var obj in CardLevels) { var page = new TabPage { Text = CardLevel.RoleCardLevelName(obj) }; CardTabControl.TabPages.Add(page); var listData = new BindingList <RoleCard>(); var list = new ListBox() { Dock = DockStyle.Fill, ContextMenuStrip = TabControlContextMenu, DisplayMember = "Name", ValueMember = "Id", DataSource = listData, }; list.SelectedIndexChanged += (sender, msg) => { var item = list.SelectedItem as RoleCard; if (ListOfRoleCardList[CardTabControl.SelectedIndex].Contains(item)) { SelectedItem = item; cardInfoControl1.BeginModify(); cardInfoControl1.Images = CardImageDictionary[SelectedItem.Id]; cardInfoControl1.RoleCard = SelectedItem; cardInfoControl1.EndModify(); } }; page.Controls.Add(list); ListOfRoleCardList.Add(listData); } }
public HandCardResult(CardLevel level, int onesDigit = INVALID_VALUE, int odds = INVALID_VALUE) { this.Level = level; this.OnesDigit = onesDigit; this.Odds = odds; }
private bool TestResult(Card cardA, Card cardB, Card cardC, CardLevel level, int odds, int onesDigit = HandCardResult.INVALID_VALUE) { return(TestResult(new HandCard(cardA, cardB, cardC), level, odds, onesDigit)); }
public Card(int _value, CardLevel _level, CardType _type) { this.Value = _value; this.Level = _level; this.Type = _type; }
public void PopulateCardInfo(CardType type, GameObject toSummon, int useCost, string displayName, string abilityText, string flavorText, CardLevel level, CardClass cardClass) { var specificCulture = System.Globalization.CultureInfo.GetCultureInfo("en-US"); if (type == CardType.Unit) { statisticsPanel.SetActive(true); Unit u = toSummon.GetComponent <Unit>( ); attackLabel.text = u.DPS.ToString("0.0", specificCulture); hpLabel.text = u.HP.MaxHP.ToString( ); speedLabel.text = u.MoveSpeed.ToString("0.0", specificCulture); } else { statisticsPanel.SetActive(false); } manaCostLabel.text = useCost.ToString( ); nameLabel.text = displayName; abilityLabel.text = abilityText; flavorLabel.text = flavorText; level2Marks.SetActive(false); level3Marks.SetActive(false); if (level == CardLevel.Level2) { level2Marks.SetActive(true); } else if (level == CardLevel.Level3) { level3Marks.SetActive(true); } classMelee.SetActive(false); classRanged.SetActive(false); classSupport.SetActive(false); classSpell.SetActive(false); if (cardClass == CardClass.Melee) { classMelee.SetActive(true); } else if (cardClass == CardClass.Ranged) { classRanged.SetActive(true); } else if (cardClass == CardClass.Support) { classSupport.SetActive(true); } else { classSpell.SetActive(true); } }