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()); } }
public EnchantSetting Rarity(EnchantRarity value) { traverse.Field <EnchantRarity>("rarity").Value = value; return(this); }