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;
                    }
                }
            }
        }