public void ModifyLocalData(PlayerSettingDataType dataType, List <PlayerSettingData> dataList) { if (m_LocalDataMap.ContainsKey(dataType)) { m_LocalDataMap[dataType] = dataList; } }
public PlayerSettingData(PlayerSettingDataType type, string name, params string[] valueList) { this.m_DataType = type; this.m_DataName = name; foreach (string s in valueList) { this.m_DataValueList.Add(s); } }
public bool GetLocalData(PlayerSettingDataType dataType, out List <PlayerSettingData> dataList) { if (m_LocalDataMap.TryGetValue(dataType, out dataList) && dataList.Count > 0) { return(true); } else { dataList = null; return(false); } }
private void InitPlayerSettingLocalConfigCsv(string stPath) { if (!File.Exists(stPath)) { return; } ScpReader reader = new ScpReader(stPath, false, 0); for (int i = 0; i < reader.GetRecordCount(); i++) { //读取表中记录的数据类型(PlayerSettingDataType) string result = reader.GetString(i, 0, string.Empty); System.Object resultObj = null; if (StringHelper.StringToEnum(typeof(PlayerSettingDataType), result, out resultObj)) { PlayerSettingDataType dataType = (PlayerSettingDataType)resultObj; List <PlayerSettingData> dataList; if (!m_LocalDataMap.TryGetValue(dataType, out dataList)) { //如果不存在本设置类型,则跳过 continue; } //由于不同设置类型对应的表中数据列数不一致,则分支处理 switch (dataType) { case PlayerSettingDataType.ImageSetting: { string name = reader.GetString(i, 1, string.Empty); string value = reader.GetString(i, 2, string.Empty); PlayerSettingData data = new PlayerSettingData(dataType, name, value); dataList.Add(data); } break; case PlayerSettingDataType.GameSetting: { string name = reader.GetString(i, 1, string.Empty); string value = reader.GetString(i, 2, string.Empty); PlayerSettingData data = new PlayerSettingData(dataType, name, value); dataList.Add(data); } break; case PlayerSettingDataType.shortcutsSetting: { string name = reader.GetString(i, 1, string.Empty); string index = reader.GetString(i, 2, string.Empty); string code = reader.GetString(i, 3, string.Empty); string spellType = reader.GetString(i, 4, string.Empty); PlayerSettingData data = new PlayerSettingData(dataType, name, index, code, spellType); dataList.Add(data); } break; case PlayerSettingDataType.ChatSetting: { string name = reader.GetString(i, 1, string.Empty); string value = reader.GetString(i, 2, string.Empty); PlayerSettingData data = new PlayerSettingData(dataType, name, value); dataList.Add(data); } break; default: break; } } } }