public bool TryFormat(ref StringReader reader, StringBuilder output, FormatterParams formatterParams) { if (reader.Read("range")) { if (!m_initialized) { ReloadRawText(); } IFightValueProvider fightValueProvider = formatterParams.valueProvider as IFightValueProvider; if (fightValueProvider == null) { Log.Error("Cannot format Range for a object without range", 80, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\UI\\Localization\\TextFormatting\\ParserRules\\TooltipParserRules\\RangeParserRule.cs"); return(false); } Tuple <int, int> range = fightValueProvider.GetRange(); if (range == null) { Log.Error("Cannot format Range for a object without range", 87, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\UI\\Localization\\TextFormatting\\ParserRules\\TooltipParserRules\\RangeParserRule.cs"); return(false); } formatterParams.valueProvider = new IndexedValueProvider(range.Item1.ToString(), range.Item2.ToString()); formatterParams.formatter.AppendFormat(rawText, output, formatterParams); return(true); } return(false); }
public void Initialize(ITooltipDataProvider dataProvider) { RemoveAllTooltip(); IFightValueProvider valueProvider = dataProvider.GetValueProvider(); KeywordReference[] keywordReferences = dataProvider.keywordReferences; if (keywordReferences == null) { return; } for (int num = keywordReferences.Length - 1; num >= 0; num--) { KeywordReference keywordReference = keywordReferences[num]; if (keywordReference.IsValidFor(RuntimeData.currentKeywordContext)) { ITooltipDataProvider tooltipDataProvider = TooltipDataProviderFactory.Create(keywordReference, valueProvider); if (tooltipDataProvider != null) { KeywordTooltip tooltip = GetTooltip(); tooltip.Initialize(tooltipDataProvider); m_activeTooltips.Add(tooltip); } } } }
public static ITooltipDataProvider Create(KeywordReference keywordReference, IFightValueProvider valueProvider) { if (keywordReference.type == ObjectReference.Type.None) { return(new KeywordTooltipDataProvider(keywordReference.keyword, valueProvider)); } IDefinitionWithTooltip @object = ObjectReference.GetObject(keywordReference.type, keywordReference.id); if (@object != null) { return(Create(@object, valueProvider.level)); } return(null); }
private void FormatValue(string varName, StringBuilder output, FormatterParams formatterParams) { IFightValueProvider fightValueProvider = formatterParams.valueProvider as IFightValueProvider; if (fightValueProvider != null && getModificationValue != null) { int num = getModificationValue(fightValueProvider); if (num != 0) { int num2 = fightValueProvider.GetValueInt(varName) + num; output.Append((num > 0) ? "<color=#008c00ff>" : "<color=#d90000ff>"); formatterParams.valueProvider = new IndexedValueProvider(num2.ToString()); formatterParams.formatter.AppendFormat(rawText, output, formatterParams); output.Append("</color>"); return; } } string value = formatterParams.valueProvider.GetValue(varName); formatterParams.valueProvider = new IndexedValueProvider(value); formatterParams.formatter.AppendFormat(rawText, output, formatterParams); }
protected TooltipDataProvider(TooltipDataType type, T definition, int level) { tooltipDataType = type; m_definition = definition; m_valueProvider = new FightValueProvider(definition, level); }
public KeywordTooltipDataProvider(string keyword, IFightValueProvider valueProvider) { RuntimeData.TryGetTextKeyId("KEYWORD." + keyword + ".NAME", out m_titleKey); RuntimeData.TryGetTextKeyId("KEYWORD." + keyword + ".DESC", out m_descriptionKey); m_valueProvider = valueProvider; }