internal void GenAllMessageWraps(string file, params string[] groups)
{
HashSet<string> expectGroups = new HashSet<string>(groups);
if (expectGroups.Count <= 0) {
expectGroups.Add(string.Empty);
}
try {
using (StreamWriter sw = new StreamWriter(file, true)) {
sw.WriteLine("//----------------------------------------------------------------------------");
sw.WriteLine("//!!!不要手动修改此文件,此文件由LogicDataGenerator按{0}生成!!!", m_DslFile);
sw.WriteLine("//----------------------------------------------------------------------------");
sw.WriteLine("using System;");
sw.WriteLine("using System.Collections.Generic;");
sw.WriteLine("using System.Runtime.InteropServices;");
sw.WriteLine("using System.IO;");
sw.WriteLine("using System.Text;");
if (!string.IsNullOrEmpty(m_Package)) {
sw.WriteLine("using {0};", m_Package);
}
sw.WriteLine("using GameFramework;");
foreach (var messagePair in m_Messages) {
string message = messagePair.Key;
MessageDef messageDef = messagePair.Value;
if (!messageDef.m_DontGenEnum && !messageDef.m_DontGenDB && expectGroups.Contains(messageDef.m_GroupName)) {
GenMessageWrap(messageDef, sw);
}
}
sw.Close();
}
} catch (Exception ex) {
Console.WriteLine(ex);
}
}
private static void GenServerData() { MessageDslParser parser = new MessageDslParser(); parser.Init("DataProto/Data.dsl"); parser.GenAllMessageWraps("DataProto/Data.cs", string.Empty); parser.GenAllMessagesEnum("DataProto/DataEnum.cs", "DataEnum", string.Empty); parser.GenAllMessageProtos("DataProto/Data.proto", string.Empty); parser.GenAllMessageDDL("DataProto/CreateDataTables.sql", string.Empty); parser.GenAllMessageDML("DataProto/DataDML.cs", "DataEnum", string.Empty); }