private static void OnLoadOneJsonConfigFinish(ConfigAbilityRegistry abilityGroupList, string configPath) { _configPathList.Remove(configPath); foreach (ConfigOverrideGroup group in abilityGroupList) { try { ConfigAbility config = group.GetConfig <ConfigAbility>("Default"); _abilityGroupMap.Add(config.AbilityName, group); } catch { UnityEngine.Debug.LogError("Error during loading ability file: " + configPath); throw; } } if (_configPathList.Count == 0) { _loadDataBackGroundWorker.StopBackGroundWork(false); if (_loadJsonConfigCallback != null) { _loadJsonConfigCallback("AbilityData"); _loadJsonConfigCallback = null; } } }
public Dictionary <string, object> CreateAppliedAbility(ConfigAbility abilityConfig) { Dictionary <string, object> dictionary; return(new Dictionary <string, object> { Tuple.Create <ConfigAbility, Dictionary <string, object> >(abilityConfig, dictionary) }); }
public static void AddAvatarWeaponAdditionalAbilities(int weaponID, AvatarActor avatar) { ConfigWeapon weaponConfig = GetWeaponConfig(weaponID); for (int i = 0; i < weaponConfig.AdditionalAbilities.Length; i++) { ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(weaponConfig.AdditionalAbilities[i].AbilityName, weaponConfig.AdditionalAbilities[i].AbilityOverride); avatar.CreateAppliedAbility(abilityConfig); if (!string.IsNullOrEmpty(weaponConfig.AdditionalAbilities[i].AbilityReplaceID)) { avatar.abilityIDMap[weaponConfig.AdditionalAbilities[i].AbilityReplaceID] = abilityConfig.AbilityName; } } }
public static void ReloadFromFile() { _abilityGroupMap = new Dictionary <string, ConfigOverrideGroup>(); foreach (string str in GlobalDataManager.metaConfig.abilityRegistryPathes) { foreach (ConfigOverrideGroup group in ConfigUtil.LoadJSONConfig <ConfigAbilityRegistry>(str)) { try { ConfigAbility config = group.GetConfig <ConfigAbility>("Default"); _abilityGroupMap.Add(config.AbilityName, group); } catch { UnityEngine.Debug.LogError("Error during loading ability file: " + str); throw; } } } }
private static void AddUnlockedAbility(AvatarActor avatarActor, ConfigAvatarAbilityUnlock unlockConfig, Dictionary <string, bool> defaultReplaceMap, float skillParam1 = 0, float skillParam2 = 0, float skillParam3 = 0) { ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(unlockConfig.AbilityName, unlockConfig.AbilityOverride); Dictionary <string, object> dictionary = null; bool flag = false; for (int i = 0; i < avatarActor.appliedAbilities.Count; i++) { if (avatarActor.appliedAbilities[i].Item1.AbilityName == unlockConfig.AbilityName) { dictionary = avatarActor.appliedAbilities[i].Item2; if (avatarActor.appliedAbilities[i].Item1 != abilityConfig) { avatarActor.appliedAbilities[i] = Tuple.Create <ConfigAbility, Dictionary <string, object> >(abilityConfig, dictionary); } flag = true; break; } } if (!flag) { dictionary = avatarActor.CreateAppliedAbility(abilityConfig); if (unlockConfig.AbilityReplaceID != null) { defaultReplaceMap[unlockConfig.AbilityReplaceID] = true; avatarActor.abilityIDMap[unlockConfig.AbilityReplaceID] = unlockConfig.AbilityName; } } if (unlockConfig.ParamSpecial1 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial1, unlockConfig.ParamMethod1, skillParam1); } if (unlockConfig.ParamSpecial2 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial2, unlockConfig.ParamMethod2, skillParam2); } if (unlockConfig.ParamSpecial3 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial3, unlockConfig.ParamMethod3, skillParam3); } }
public ActorAbility(BaseAbilityActor caster, ConfigAbility config, Dictionary <string, object> overrideMap) { this.caster = caster; this.config = config; this._overrideMap = overrideMap; List <BaseAbilityMixin> list = new List <BaseAbilityMixin>(); for (int i = 0; i < config.AbilityMixins.Length; i++) { BaseAbilityMixin item = caster.abilityPlugin.CreateInstancedAbilityMixin(this, null, config.AbilityMixins[i]); if (item != null) { list.Add(item); } } base.instancedMixins = list.ToArray(); for (int j = 0; j < base.instancedMixins.Length; j++) { base.instancedMixins[j].instancedMixinID = j; } }
public static void ApplyGalTouchBuffEntry(AvatarActor avatarActor, int buffId, float calculatedParam1, float calculatedParam2, float calculatedParam3) { if (buffId > 0) { ConfigGalTouchBuffEntry galTouchBuffEntry = GetGalTouchBuffEntry(buffId); ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(galTouchBuffEntry.AbilityName, galTouchBuffEntry.AbilityOverride); Dictionary <string, object> overrideMap = avatarActor.CreateAppliedAbility(abilityConfig); if (galTouchBuffEntry.ParamSpecial1 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial1, galTouchBuffEntry.ParamMethod1, calculatedParam1); } if (galTouchBuffEntry.ParamSpecial2 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial2, galTouchBuffEntry.ParamMethod2, calculatedParam2); } if (galTouchBuffEntry.ParamSpecial3 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial3, galTouchBuffEntry.ParamMethod3, calculatedParam3); } } }