示例#1
0
    private void FindAndEquipAbility(string abilityId, Guid sourceId, AbilitySourceType sourceType, int slot)
    {
        AbilityBase ability = ResourceManager.Instance.GetAbilityBase(abilityId);

        if (sourceType == AbilitySourceType.ARCHETYPE)
        {
            foreach (HeroArchetypeData archetypeData in archetypeList)
            {
                if (archetypeData == null || archetypeData.Id != sourceId || !archetypeData.ContainsAbility(ability))
                {
                    continue;
                }
                else
                {
                    EquipAbility(ability, slot, archetypeData);
                    return;
                }
            }
        }
        else if (sourceType == AbilitySourceType.ABILITY_CORE)
        {
            foreach (AbilityCoreItem abilityCore in GameManager.Instance.PlayerStats.AbilityInventory)
            {
                if (abilityCore.SourceId != sourceId)
                {
                    continue;
                }
                else
                {
                    EquipAbility(ability, slot, abilityCore);
                    return;
                }
            }
        }
    }
    public string GetLocalizationText(AbilitySourceType sourceType)
    {
        string stringId = "sourceType." + sourceType.ToString();

        if (commonLocalizationData.TryGetValue(stringId, out string value))
        {
            if (value == "")
            {
                return(stringId);
            }
            return(value);
        }
        else
        {
            return(stringId);
        }
    }