コード例 #1
0
 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);
 }
コード例 #2
0
        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);
                    }
                }
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 protected TooltipDataProvider(TooltipDataType type, T definition, int level)
 {
     tooltipDataType = type;
     m_definition    = definition;
     m_valueProvider = new FightValueProvider(definition, level);
 }
コード例 #6
0
 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;
 }