public float getFloat(GAME_FLOAT param) { if (mFloatList.TryGetValue(param, out FloatParameter floatParam)) { return(floatParam.mValue); } return(0.0f); }
protected string floatTypeToName(GAME_FLOAT type) { if (mFloatDefineToName.ContainsKey(type)) { return(mFloatDefineToName[type]); } return(null); }
public void setFloat(GAME_FLOAT param, float value, string comment = null) { if (!mFloatList.TryGetValue(param, out FloatParameter floatParam)) { floatParam = new FloatParameter(); floatParam.mValue = value; floatParam.mComment = comment; floatParam.mType = param; floatParam.mTypeString = param.ToString(); mFloatList.Add(param, floatParam); } else { floatParam.mValue = value; if (!isEmpty(comment)) { floatParam.mComment = comment; } mFloatList[param] = floatParam; } }
public void setFloat(GAME_FLOAT param, float value, string comment = null) { if (!mFloatList.ContainsKey(param)) { FloatParameter floatParam = new FloatParameter(); floatParam.mValue = value; floatParam.mComment = comment; floatParam.mType = param; floatParam.mTypeString = param.ToString(); mFloatList.Add(param, floatParam); } else { FloatParameter temp = mFloatList[param]; temp.mValue = value; if (!isEmpty(comment)) { temp.mComment = comment; } mFloatList[param] = temp; } }
// fileName为StreamAssets/Config目录下的相对路径 protected void readFile(string fileName, bool floatParam) { // 资源目录为本地目录,直接读取本地文件,否则使用http同步下载文件 string text; if (ResourceManager.mLocalRootPath) { text = openTxtFile(fileName, false); } else { text = bytesToString(HttpUtility.downloadFile(fileName), Encoding.UTF8); } string[] lineList = split(text, true, "\r\n"); Dictionary <string, ConfigInfo> valueList = new Dictionary <string, ConfigInfo>(); string comment = null; // 前4行需要被丢弃 int dropLine = 4; for (int i = 0; i < lineList.Length; ++i) { if (i < dropLine) { continue; } string line = lineList[i]; // 去除所有空白字符 line = Regex.Replace(line, @"\s", EMPTY); // 如果该行是空的,或者是注释,则不进行处理 if (!isEmpty(line)) { if (line.Substring(0, 2) == "//") { comment = line.Substring(2, line.Length - 2); } else { string[] value = split(line, false, "="); if (value.Length != 2) { logError("配置文件错误 : line : " + line); return; } ConfigInfo info = new ConfigInfo(); info.mComment = comment; info.mName = value[0]; info.mValue = value[1]; if (!valueList.ContainsKey(info.mName)) { valueList.Add(info.mName, info); } } } } foreach (var item in valueList) { if (floatParam) { GAME_FLOAT def = floatNameToType(item.Key); if (def != GAME_FLOAT.NONE) { setFloat(def, stringToFloat(item.Value.mValue), item.Value.mComment); } } else { GAME_STRING def = stringNameToType(item.Key); if (def != GAME_STRING.NONE) { setString(def, item.Value.mValue, item.Value.mComment); } } } }
protected bool hasParameter(GAME_FLOAT param) { return(mFloatList.ContainsKey(param)); }
protected string floatTypeToName(GAME_FLOAT type) { mFloatDefineToName.TryGetValue(type, out string value); return(value); }
//---------------------------------------------------------------------------------------------------------------------------------------------- protected void addFloat(GAME_FLOAT type) { mFloatNameToDefine.Add(type.ToString(), type); mFloatDefineToName.Add(type, type.ToString()); }
public float getFloat(GAME_FLOAT param) { return(mFloatList.ContainsKey(param) ? mFloatList[param].mValue : 0.0f); }