Example #1
0
        private void CreateButtonByRarity(EnchantRarity value)
        {
            try
            {
                var textStyle = new GUIStyle(GUI.skin.label)
                {
                    fontStyle = FontStyle.Bold,
                    richText  = true
                };

                var styleState = new GUIStyleState();

                string name = "";

                switch (value)
                {
                case EnchantRarity.Common:
                    name = GetCultureString("Rarity_Common");
                    styleState.textColor = textColorCommon;
                    break;

                case EnchantRarity.Uncommon:
                    name = GetCultureString("Rarity_Uncommon");
                    styleState.textColor = textColorRare;
                    break;

                case EnchantRarity.Rare:
                    name = GetCultureString("Rarity_Rare");
                    styleState.textColor = textColorRare;
                    break;

                case EnchantRarity.SuperRare:
                    name = GetCultureString("Rarity_SuperRare");
                    styleState.textColor = textColorSuperRare;
                    break;

                case EnchantRarity.UltraRare:
                    name = GetCultureString("Rarity_UltraRare");
                    styleState.textColor = textColorSuperRare;
                    break;

                case EnchantRarity.Epic:
                    name = GetCultureString("Rarity_Epic");
                    styleState.textColor = textColorEpic;
                    break;

                case EnchantRarity.Legendary:
                    name = GetCultureString("Rarity_Legendary");
                    styleState.textColor = textColorLegendary;
                    break;

                case EnchantRarity.OverLegendary:
                    name = GetCultureString("Rarity_OverLegendary");
                    styleState.textColor = textColorLegendary;
                    break;

                default:
                    name = GetCultureString("Rarity_Unknown");
                    styleState.textColor = textColorCommon;
                    break;
                }

                textStyle.normal = styleState;
                DrawCenteredLabel(name, textStyle);

                GUILayout.BeginVertical(GUI.skin.box);

                GUILayout.BeginHorizontal();

                int count = 1;
                foreach (var data in encList.Where(x => x.Rarity == value))
                {
                    //make selected encs red
                    var style = new GUIStyle(GUI.skin.button)
                    {
                        richText = true
                    };

                    if (selectedEncDic.ContainsKey(data.ID))
                    {
                        style.normal.textColor = Color.red;
                    }

                    if (GUILayout.Button(data.DisplayName, style))
                    {
                        AddSelectDic(data);
                    }
                    GUILayout.FlexibleSpace();

                    if (count < MAX_COLUMN_LENGTH)
                    {
                        count++;
                    }
                    else
                    {
                        count = 1;

                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal();
                    }
                }

                for (int i = count; i < MAX_COLUMN_LENGTH; i++)
                {
                    GUILayout.FlexibleSpace();
                }

                GUILayout.EndHorizontal();

                GUILayout.EndVertical();
            }
            catch (Exception ex)
            {
                OutputLog(LogLevel.Warning, GetCultureString("Error") + ex.Message.ToString());
            }
        }
Example #2
0
 public EnchantSetting Rarity(EnchantRarity value)
 {
     traverse.Field <EnchantRarity>("rarity").Value = value;
     return(this);
 }