Ejemplo n.º 1
0
    public List <int> GetHeroCardIDs(Editor_CardSelectModes mode)
    {
        List <int> heroCardIDs = new List <int>();

        foreach (KeyValuePair <int, CardSelectInfo> kv in CardSelectInfos)
        {
            if (AllCards.GetCard(kv.Key).CardStatType == CardStatTypes.HeroMech)
            {
                if (mode == Editor_CardSelectModes.SelectCount)
                {
                    for (int i = 0; i < kv.Value.CardSelectCount; i++)
                    {
                        heroCardIDs.Add(kv.Key);
                    }
                }
                else if (mode == Editor_CardSelectModes.UpperLimit)
                {
                    for (int i = 0; i < kv.Value.CardSelectUpperLimit; i++)
                    {
                        heroCardIDs.Add(kv.Key);
                    }
                }
            }
        }

        return(heroCardIDs);
    }
Ejemplo n.º 2
0
    public SortedDictionary <CardStatTypes, int> GetTypeCardCountDict(Editor_CardSelectModes mode)
    {
        SortedDictionary <CardStatTypes, int> res = new SortedDictionary <CardStatTypes, int>();

        res.Add(CardStatTypes.Total, 0);
        res.Add(CardStatTypes.HeroMech, 0);
        res.Add(CardStatTypes.SoldierMech, 0);
        res.Add(CardStatTypes.Equip, 0);
        res.Add(CardStatTypes.Energy, 0);
        res.Add(CardStatTypes.Spell, 0);
        foreach (KeyValuePair <int, CardSelectInfo> kv in CardSelectInfos)
        {
            CardStatTypes type = AllCards.GetCard(kv.Key).CardStatType;
            if (mode == Editor_CardSelectModes.SelectCount)
            {
                res[type] += kv.Value.CardSelectCount;
                res[CardStatTypes.Total] += kv.Value.CardSelectCount;
            }
            else if (mode == Editor_CardSelectModes.UpperLimit)
            {
                res[type] += kv.Value.CardSelectUpperLimit;
                res[CardStatTypes.Total] += kv.Value.CardSelectUpperLimit;
            }
        }

        return(res);
    }
    public void Initialize(Editor_CardSelectModes selectMode, BuildCards buildCards)
    {
        M_SelectMode = selectMode;
        if (M_SelectMode == Editor_CardSelectModes.SelectCount)
        {
            LanguageManager.Instance.RegisterTextKey(Label, "LevelEditorPanel_CardSelection_SelectCount");
        }
        else if (M_SelectMode == Editor_CardSelectModes.UpperLimit)
        {
            LanguageManager.Instance.RegisterTextKey(Label, "LevelEditorPanel_CardSelection_UpperLimit");
        }

        BuildCards = buildCards;
        Refresh();
        RefreshTypeCardCountButtons(CardStatTypes.Total);
    }
Ejemplo n.º 4
0
    public SortedDictionary <int, int> GetCostDictByEnergy(Editor_CardSelectModes mode, CardStatTypes cardStatType)
    {
        SortedDictionary <int, int> res = new SortedDictionary <int, int>();

        for (int i = 0; i <= 10; i++)
        {
            res.Add(i, 0);
        }

        foreach (KeyValuePair <int, CardSelectInfo> kv in CardSelectInfos)
        {
            CardInfo_Base ci = AllCards.GetCard(kv.Key);
            if (cardStatType == CardStatTypes.Total || ci.CardStatType == cardStatType)
            {
                if (mode == Editor_CardSelectModes.SelectCount)
                {
                    if (ci.BaseInfo.Energy < 10)
                    {
                        res[ci.BaseInfo.Energy] += kv.Value.CardSelectCount;
                    }
                    else
                    {
                        res[10] += kv.Value.CardSelectCount;
                    }
                }
                else if (mode == Editor_CardSelectModes.UpperLimit)
                {
                    if (ci.BaseInfo.Energy < 10)
                    {
                        res[ci.BaseInfo.Energy] += kv.Value.CardSelectUpperLimit;
                    }
                    else
                    {
                        res[10] += kv.Value.CardSelectUpperLimit;
                    }
                }
            }
        }

        return(res);
    }