Example #1
0
 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;
         }
     }
 }
Example #2
0
        public Dictionary <string, object> CreateAppliedAbility(ConfigAbility abilityConfig)
        {
            Dictionary <string, object> dictionary;

            return(new Dictionary <string, object> {
                Tuple.Create <ConfigAbility, Dictionary <string, object> >(abilityConfig, dictionary)
            });
        }
Example #3
0
        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;
                }
            }
        }
Example #4
0
 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;
             }
         }
     }
 }
Example #5
0
        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);
            }
        }
Example #6
0
        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;
            }
        }
Example #7
0
 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);
         }
     }
 }