public GameConfigRankingReward.rewardData getRankReward(int index) { if (_rwLock.TryEnterReadLock(_readWaiteTime)) { try { GameConfigRankingReward rankReward = _configDic[(int)EnumConfigFileType.RankReward] as GameConfigRankingReward; return(rankReward.get(index)); } catch { return(null); } finally { if (_rwLock.IsReadLockHeld) { _rwLock.ExitReadLock(); } } } else { GameConfigRankingReward rankReward = _configDic[(int)EnumConfigFileType.RankReward] as GameConfigRankingReward; return(rankReward._defaultValue); } }
void Init() { IP.Start(); _configDic = new Dictionary <int, GameConfigBase>(); TimerMgr.Singleton().add(TimeId, update, 1000, 10000); GameConfigValue constValue = new GameConfigValue(configFileFolderName + EnumConfigFileType.ConstValues.ToString()); constValue.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.ConstValues, constValue); GameConfigUI gcu = new GameConfigUI(configFileFolderName + EnumConfigFileType.UI.ToString()); gcu.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.UI, gcu); GameConfigActivity Activity = new GameConfigActivity(configFileFolderName + EnumConfigFileType.Activity.ToString()); Activity.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.Activity, Activity); GameConfigOpenClose OpenClose = new GameConfigOpenClose(configFileFolderName + EnumConfigFileType.OpenClose.ToString()); OpenClose.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.OpenClose, OpenClose); GameConfigNotSupportVersion NotSupportVersion = new GameConfigNotSupportVersion(configFileFolderName + EnumConfigFileType.NotSupportVersion.ToString()); NotSupportVersion.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.NotSupportVersion, NotSupportVersion); GameConfigExchangeCode exchangeCode = new GameConfigExchangeCode(configFileFolderName + EnumConfigFileType.ExchangeCode.ToString()); exchangeCode.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.ExchangeCode, exchangeCode); GameConfigRankingReward rankingReward = new GameConfigRankingReward(configFileFolderName + EnumConfigFileType.RankReward.ToString()); rankingReward.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.RankReward, rankingReward); GameConfigProducts items = new GameConfigProducts(configFileFolderName + EnumConfigFileType.Products.ToString()); items.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.Products, items); GameConfigHappyPoint happyPoint = new GameConfigHappyPoint(configFileFolderName + EnumConfigFileType.RealItems.ToString()); happyPoint.setLock(_rwLock); _configDic.Add((int)EnumConfigFileType.RealItems, happyPoint); foreach (GameConfigBase gcb in _configDic.Values) { gcb.init(); } update(null); }