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);
                    }
                }
            }
        }
Exemple #2
0
        public void Initialize([NotNull] ITooltipDataProvider dataProvider)
        {
            IValueProvider valueProvider = dataProvider.GetValueProvider();

            m_title.SetText(dataProvider.GetTitleKey(), valueProvider);
            m_description.SetText(dataProvider.GetDescriptionKey(), valueProvider);
            switch (dataProvider.tooltipDataType)
            {
            case TooltipDataType.Character:
                SetCharacterPropertiesVisibility(value: true);
                SetMechanismPropertiesVisibility(value: false);
                SetSpellElementsVisibility(value: false);
                SetIconsVisibility(value: true);
                InitializeProperties((ICharacterTooltipDataProvider)dataProvider);
                break;

            case TooltipDataType.ObjectMechanism:
                SetCharacterPropertiesVisibility(value: false);
                SetMechanismPropertiesVisibility(value: true);
                SetSpellElementsVisibility(value: false);
                SetIconsVisibility(value: true);
                InitializeProperties((IObjectMechanismTooltipDataProvider)dataProvider);
                break;

            case TooltipDataType.FloorMechanism:
                SetCharacterPropertiesVisibility(value: false);
                SetMechanismPropertiesVisibility(value: false);
                SetSpellElementsVisibility(value: false);
                SetIconsVisibility(value: false);
                break;

            case TooltipDataType.Spell:
                SetCharacterPropertiesVisibility(value: false);
                SetMechanismPropertiesVisibility(value: false);
                SetSpellElementsVisibility(value: true);
                SetIconsVisibility(value: true);
                InitializeProperties((ISpellTooltipDataProvider)dataProvider);
                break;

            case TooltipDataType.Text:
                SetCharacterPropertiesVisibility(value: false);
                SetMechanismPropertiesVisibility(value: false);
                SetSpellElementsVisibility(value: false);
                SetIconsVisibility(value: false);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }