private static string Luck(IMacroContextProvider mcp) { // %luc return(mcp.GetMacroDataSource().Luck()); }
public static string PlayerPronoun3(IMacroContextProvider mcp) { // %pg3 return((GameManager.Instance.PlayerEntity.Gender == Genders.Female) ? HardStrings.pronounHers : HardStrings.pronounHis); }
private static string EncumbranceMax(IMacroContextProvider mcp) { // %enc return(GameManager.Instance.PlayerEntity.MaxEncumbrance.ToString()); }
private static string CurrentRegion(IMacroContextProvider mcp) { // %crn return(GameManager.Instance.PlayerGPS.CurrentRegion.Name); }
private static string Date(IMacroContextProvider mcp) { // %dat return(DaggerfallUnity.Instance.WorldTime.Now.DateString()); }
public void SetTextTokens(TextFile.Token[] tokens, IMacroContextProvider mcp = null) { MacroHelper.ExpandMacros(ref tokens, mcp); multiLineLabel.SetText(tokens); }
/// <summary> /// Expands any macros in the textfile tokens. /// </summary> /// <param name="tokens">a reference to textfile tokens to have macros expanded.</param> /// <param name="mcp">an object instance to provide context for macro expansion. (optional)</param> public static void ExpandMacros(ref TextFile.Token[] tokens, IMacroContextProvider mcp = null) { // Iterate message tokens string tokenText; int multilineIdx = 0; TextFile.Token[] multilineTokens = null; for (int tokenIdx = 0; tokenIdx < tokens.Length; tokenIdx++) { tokenText = tokens[tokenIdx].text; if (tokenText != null && tokenText.IndexOf('%') >= 0) { // Handle multiline macros. (only handles the last one & must be only thing in this token) if (multilineMacroHandlers.ContainsKey(tokenText.Trim())) { multilineTokens = GetMultilineValue(tokenText.Trim(), mcp, tokens[tokenIdx + 1].formatting); multilineIdx = tokenIdx; } else { // Split token text into individual words string[] words = tokenText.Split(' '); // Iterate words to find macros for (int wordIdx = 0; wordIdx < words.Length; wordIdx++) { int pos = words[wordIdx].IndexOf('%'); if (pos >= 0) { string prefix = words[wordIdx].Substring(0, pos); string macro = words[wordIdx].Substring(pos); if (macro.StartsWith("%")) { int macroLen; if ((macroLen = macro.IndexOfAny(PUNCTUATION)) > 0) { string symbolStr = macro.Substring(0, macroLen); words[wordIdx] = prefix + GetValue(symbolStr, mcp) + macro.Substring(macroLen); } else { words[wordIdx] = prefix + GetValue(macro, mcp); } } } } // Re-assemble words and update token. tokenText = string.Empty; for (int wordIdx = 0; wordIdx < words.Length; wordIdx++) { tokenText += words[wordIdx]; if (wordIdx != words.Length - 1) { tokenText += " "; } } tokens[tokenIdx].text = tokenText; } } } // Insert multiline tokens if generated. if (multilineTokens != null && multilineTokens.Length > 0) { TextFile.Token[] newTokens = new TextFile.Token[tokens.Length + multilineTokens.Length - 1]; Array.Copy(tokens, newTokens, multilineIdx); Array.Copy(multilineTokens, 0, newTokens, multilineIdx, multilineTokens.Length); Array.Copy(tokens, multilineIdx + 1, newTokens, multilineIdx + multilineTokens.Length, tokens.Length - multilineIdx - 1); tokens = newTokens; } }
public static string Weight(IMacroContextProvider mcp) { // %kg return(mcp.GetMacroDataSource().Weight()); }
public static string WeaponDamage(IMacroContextProvider mcp) { // %wdm return(mcp.GetMacroDataSource().WeaponDamage()); }
public static string Material(IMacroContextProvider mcp) { // %mat return(mcp.GetMacroDataSource().Material()); }
public static string Condition(IMacroContextProvider mcp) { // %qua return(mcp.GetMacroDataSource().Condition()); }
public static string Worth(IMacroContextProvider mcp) { // %wth return(mcp.GetMacroDataSource().Worth()); }
public static string ItemName(IMacroContextProvider mcp) { // %wep, %arm, %it return(mcp.GetMacroDataSource().ItemName()); }
private static string AttributeRating(IMacroContextProvider mcp) { // %ark return(mcp.GetMacroDataSource().AttributeRating()); }
void SetupBox(int textId, CommonMessageBoxButtons buttons, IMacroContextProvider mcp = null) { SetTextTokens(textId, mcp); AddCommonButtons(buttons); }
public static string ArmourMod(IMacroContextProvider mcp) { // %mod return(mcp.GetMacroDataSource().ArmourMod()); }
public DaggerfallDaedraSummonedWindow(IUserInterfaceManager uiManager, DaggerfallQuestPopupWindow.DaedraData daedraSummoned, int textId, IMacroContextProvider mcp) : base(uiManager) { this.daedraSummoned = daedraSummoned; this.textId = textId; this.mcp = mcp; answerGiven = true; }
public static string BookAuthor(IMacroContextProvider mcp) { // %ba return(mcp.GetMacroDataSource().BookAuthor()); }
public void SetTextTokens(int id, IMacroContextProvider mcp = null) { TextFile.Token[] tokens = DaggerfallUnity.Instance.TextProvider.GetRSCTokens(id); SetTextTokens(tokens, mcp); }
public static string HeldSoul(IMacroContextProvider mcp) { // %hs return(mcp.GetMacroDataSource().HeldSoul()); }
private static string CityName2(IMacroContextProvider mcp) { // %cn2 (only used in msg #200) throw new NotImplementedException(); }
public static string Potion(IMacroContextProvider mcp) { // %po return(mcp.GetMacroDataSource().Potion()); }
private static string Time(IMacroContextProvider mcp) { // %tim return(DaggerfallUnity.Instance.WorldTime.Now.MinTimeString()); }
public DaggerfallMessageBox(IUserInterfaceManager uiManager, CommonMessageBoxButtons buttons, int textId, IUserInterfaceWindow previous = null, IMacroContextProvider mcp = null) : base(uiManager, previous) { SetupBox(textId, buttons, mcp); }
private static string PlayerName(IMacroContextProvider mcp) { // %pcn return(GameManager.Instance.PlayerEntity.Name); }
public void SetText(string text, IMacroContextProvider mcp = null) { SetText(new string[] { text }, mcp); }
private static string DmgMod(IMacroContextProvider mcp) { // %dam return(GameManager.Instance.PlayerEntity.DamageModifier.ToString("+0;-0;0")); }
void SetupBox(TextFile.Token[] tokens, CommonMessageBoxButtons buttons, IMacroContextProvider mcp = null) { SetTextTokens(tokens, mcp); AddCommonButtons(buttons); }
private static string Magicka(IMacroContextProvider mcp) { // %spt return(GameManager.Instance.PlayerEntity.MaxMagicka.ToString()); }
private static string Spd(IMacroContextProvider mcp) { // %spd return(mcp.GetMacroDataSource().Spd()); }