void ShowSkillsDialog(List <DFCareer.Skills> skills, bool twoColumn = false) { bool secondColumn = false; bool showHandToHandDamage = false; List <TextFile.Token> tokens = new List <TextFile.Token>(); for (int i = 0; i < skills.Count; i++) { if (!showHandToHandDamage && (skills[i] == DFCareer.Skills.HandToHand)) { showHandToHandDamage = true; } if (!twoColumn) { tokens.AddRange(DaggerfallUnity.TextProvider.GetSkillSummary(skills[i], 0)); if (i < skills.Count - 1) { tokens.Add(TextFile.NewLineToken); } } else { if (!secondColumn) { tokens.AddRange(DaggerfallUnity.TextProvider.GetSkillSummary(skills[i], 0)); secondColumn = !secondColumn; } else { tokens.AddRange(DaggerfallUnity.TextProvider.GetSkillSummary(skills[i], 136)); secondColumn = !secondColumn; if (i < skills.Count - 1) { tokens.Add(TextFile.NewLineToken); } } } } if (showHandToHandDamage) { tokens.Add(TextFile.NewLineToken); TextFile.Token HandToHandDamageToken = new TextFile.Token(); int minDamage = FormulaHelper.CalculateHandToHandMinDamage(playerEntity.Skills.GetLiveSkillValue(DFCareer.Skills.HandToHand)); int maxDamage = FormulaHelper.CalculateHandToHandMaxDamage(playerEntity.Skills.GetLiveSkillValue(DFCareer.Skills.HandToHand)); HandToHandDamageToken.text = DaggerfallUnity.Instance.TextProvider.GetSkillName(DFCareer.Skills.HandToHand) + " dmg: " + minDamage + "-" + maxDamage; HandToHandDamageToken.formatting = TextFile.Formatting.Text; tokens.Add(HandToHandDamageToken); } DaggerfallMessageBox messageBox = new DaggerfallMessageBox(uiManager, this); messageBox.SetHighlightColor(DaggerfallUI.DaggerfallUnityStatIncreasedTextColor); messageBox.SetTextTokens(tokens.ToArray(), null, false); messageBox.ClickAnywhereToClose = true; messageBox.Show(); }
protected virtual DaggerfallMessageBox CreateDialogBox(string entryStr, string baseKey) { string heading = TextManager.Instance.GetLocalizedText(baseKey + "Head"); string action = TextManager.Instance.GetLocalizedText(baseKey); string explanation = TextManager.Instance.GetLocalizedText(baseKey + "2"); TextFile.Token[] tokens = new TextFile.Token[] { TextFile.CreateTextToken(heading), TextFile.CreateFormatToken(TextFile.Formatting.JustifyCenter), TextFile.NewLineToken, TextFile.CreateTextToken(action), TextFile.NewLineToken, TextFile.NewLineToken, new TextFile.Token() { text = entryStr, formatting = TextFile.Formatting.TextHighlight }, TextFile.CreateFormatToken(TextFile.Formatting.JustifyCenter), TextFile.NewLineToken, TextFile.CreateTextToken(explanation), TextFile.CreateFormatToken(TextFile.Formatting.EndOfRecord) }; DaggerfallMessageBox dialogBox = new DaggerfallMessageBox(uiManager, this); dialogBox.SetHighlightColor(Color.white); dialogBox.SetTextTokens(tokens); dialogBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.Yes); dialogBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.No); return(dialogBox); }