/// <summary> /// Do reload the setting file: GameConfig /// </summary> void _ReloadAll(bool throwWhenDuplicatePrimaryKey, string customContent = null) { for (var j = 0; j < TabFilePaths.Length; j++) { var tabFilePath = TabFilePaths[j]; TableFile tableFile; if (customContent == null) { tableFile = SettingModule.Get(tabFilePath, false); } else { tableFile = TableFile.LoadFromString(customContent); } using (tableFile) { foreach (var row in tableFile) { var pk = GameConfigSetting.ParsePrimaryKey(row); GameConfigSetting setting; if (!_dict.TryGetValue(pk, out setting)) { setting = new GameConfigSetting(row); _dict[setting.Id] = setting; } else { if (throwWhenDuplicatePrimaryKey) { throw new System.Exception(string.Format("DuplicateKey, Class: {0}, File: {1}, Key: {2}", this.GetType().Name, tabFilePath, pk)); } else { setting.Reload(row); } } } } } if (OnReload != null) { OnReload(); } ReloadCount++; Log.Info("Reload settings: {0}, Row Count: {1}, Reload Count: {2}", GetType(), Count, ReloadCount); }
/// <summary> /// Do reload the setting file: GameConfig /// </summary> void _ReloadAll(bool throwWhenDuplicatePrimaryKey) { for (var j = 0; j < TabFilePaths.Length; j++) { var tabFilePath = TabFilePaths[j]; using (var tableFile = SettingModule.Get(tabFilePath, false)) { foreach (var row in tableFile) { var pk = GameConfigSetting.ParsePrimaryKey(row); GameConfigSetting setting; if (!_dict.TryGetValue(pk, out setting)) { setting = new GameConfigSetting(row); _dict[setting.Id] = setting; } else { if (throwWhenDuplicatePrimaryKey) { throw new System.Exception(string.Format("DuplicateKey, Class: {0}, File: {1}, Key: {2}", this.GetType().Name, tabFilePath, pk)); } else { setting.Reload(row); } } } } } if (OnReload != null) { OnReload(); } }
/// <summary> /// Do reload the setting file: GameConfig /// </summary> void _ReloadAll(bool throwWhenDuplicatePrimaryKey) { for (var j = 0; j < TabFilePaths.Length; j++) { var tabFilePath = TabFilePaths[j]; using (var tableFile = SettingModule.Get(tabFilePath, false)) { foreach (var row in tableFile) { var pk = GameConfigSetting.ParsePrimaryKey(row); GameConfigSetting setting; if (!_dict.TryGetValue(pk, out setting)) { setting = new GameConfigSetting(row); _dict[setting.Id] = setting; } else { if (throwWhenDuplicatePrimaryKey) throw new System.Exception(string.Format("DuplicateKey, Class: {0}, File: {1}, Key: {2}", this.GetType().Name, tabFilePath, pk)); else setting.Reload(row); } } } } if (OnReload != null) { OnReload(); } }