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代表 需要重新计算
            }
Example #2
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();
        }
    }
Example #3
0
 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;
 }
Example #4
0
        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();
            }
        }
Example #5
0
        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);
        }
Example #7
0
        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;
 }
Example #9
0
 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));
 }
Example #10
0
 public Card(int _value, CardLevel _level, CardType _type)
 {
     this.Value = _value;
     this.Level = _level;
     this.Type  = _type;
 }
Example #11
0
    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);
        }
    }