// test public static void Test() { ScriptGenTool tool = new ScriptGenTool(); ScriptGenInfo info = new ScriptGenInfo(); info.className = "DiyCharConfig"; info.elements = new List<ScriptGenElementInfo>(); ScriptGenElementInfo id = new ScriptGenElementInfo(); id.index = 0; id.classTypeName = "int"; id.desc = "模型id"; id.memberName = "id"; id.rangeMax = int.MaxValue.ToString(); id.rangeMin = int.MinValue.ToString(); id.isList = false; info.elements.Add(id); ScriptGenElementInfo positionId = new ScriptGenElementInfo(); positionId.index = 2; positionId.classTypeName = "int"; positionId.desc = "position id"; positionId.memberName = "positionId"; positionId.rangeMax = int.MaxValue.ToString(); positionId.rangeMin = int.MinValue.ToString(); positionId.isList = false; info.elements.Add(positionId); ScriptGenElementInfo vertexid = new ScriptGenElementInfo(); vertexid.index = 3; vertexid.classTypeName = "int"; vertexid.desc = "vertex id"; vertexid.memberName = "vertexid"; vertexid.rangeMax = int.MaxValue.ToString(); vertexid.rangeMin = int.MinValue.ToString(); vertexid.isList = false; info.elements.Add(vertexid); ScriptGenElementInfo radius = new ScriptGenElementInfo(); radius.index = 3; radius.classTypeName = "int"; radius.desc = "radius "; radius.memberName = "radius"; radius.rangeMax = int.MaxValue.ToString(); radius.rangeMin = int.MinValue.ToString(); radius.isList = false; info.elements.Add(radius); ScriptGenElementInfo min = new ScriptGenElementInfo(); min.index = 3; min.classTypeName = "int"; min.desc = "min "; min.memberName = "min"; min.rangeMax = int.MaxValue.ToString(); min.rangeMin = int.MinValue.ToString(); min.isList = false; info.elements.Add(min); ScriptGenElementInfo max = new ScriptGenElementInfo(); max.index = 3; max.classTypeName = "int"; max.desc = "max "; max.memberName = "max"; max.rangeMax = int.MaxValue.ToString(); max.rangeMin = int.MinValue.ToString(); max.isList = false; info.elements.Add(max); ScriptGenElementInfo dirx = new ScriptGenElementInfo(); dirx.index = 3; dirx.classTypeName = "int"; dirx.desc = "dirx "; dirx.memberName = "dirx"; dirx.rangeMax = int.MaxValue.ToString(); dirx.rangeMin = int.MinValue.ToString(); dirx.isList = false; info.elements.Add(dirx); ScriptGenElementInfo diry = new ScriptGenElementInfo(); diry.index = 3; diry.classTypeName = "int"; diry.desc = "diry "; diry.memberName = "diry"; diry.rangeMax = int.MaxValue.ToString(); diry.rangeMin = int.MinValue.ToString(); diry.isList = false; info.elements.Add(diry); ScriptGenElementInfo dirz = new ScriptGenElementInfo(); dirz.index = 3; dirz.classTypeName = "int"; dirz.desc = "dirz "; dirz.memberName = "dirz"; dirz.rangeMax = int.MaxValue.ToString(); dirz.rangeMin = int.MinValue.ToString(); dirz.isList = false; info.elements.Add(dirz); tool.GenScript(info); }
public static void GenAllScript() { // load config ScriptGenTool tool = new ScriptGenTool(); string configPath = ScriptGenConstant.resourcePath + "ConfigXml.xml"; string configContent = File.ReadAllText(configPath); var config = XmlConfigBase.DeSerialize<GenScriptXmlConfig>(configContent); if (null == config) { return; } for (int i = 0; i < config.classConfigList.Count; ++i) { var elemConfig = config.classConfigList[i]; ScriptGenInfo info = new ScriptGenInfo(); info.className = elemConfig.className; info.elements = new List<ScriptGenElementInfo>(elemConfig.lineConfigList.Count); int lineIndex = -1; foreach (var line in elemConfig.lineConfigList) { ++lineIndex; if (string.IsNullOrEmpty(line.classTypeName)) { // skip this line continue; } ScriptGenElementInfo infoLine = new ScriptGenElementInfo(); //infoLine.index = line.index-1; infoLine.index = lineIndex; infoLine.classTypeName = line.classTypeName; infoLine.desc = line.desc; if (string.IsNullOrEmpty(infoLine.desc)) { infoLine.desc = line.memberName; } infoLine.isList = line.isList; infoLine.memberName = line.memberName; infoLine.rangeMax = line.rangeMax; infoLine.rangeMin = line.rangeMin; infoLine.isNullable = line.isNullable; if (infoLine.classTypeName.EndsWith("string")) { infoLine.rangeMax = "string.Empty"; infoLine.rangeMin = "string.Empty"; } else { if (string.IsNullOrEmpty(infoLine.rangeMax)) { infoLine.rangeMax = infoLine.classTypeName + ".MaxValue"; } if (string.IsNullOrEmpty(infoLine.rangeMin)) { infoLine.rangeMin = infoLine.classTypeName + ".MinValue"; } } info.elements.Add(infoLine); } // gen script tool.GenScript(info); } }