mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
DotNet支持自定义协议目录
DotNet支持自定义协议目录
This commit is contained in:
@@ -50,15 +50,15 @@ public sealed class ProtoBufExporter
|
|||||||
Directory.CreateDirectory(Define.ProtoBufClientDirectory);
|
Directory.CreateDirectory(Define.ProtoBufClientDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Directory.Exists($"{Define.ProtoBufDirectory}Inner"))
|
|
||||||
{
|
|
||||||
Directory.CreateDirectory($"{Define.ProtoBufDirectory}Inner");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Directory.Exists($"{Define.ProtoBufDirectory}Outer"))
|
if (!Directory.Exists($"{Define.ProtoBufDirectory}Outer"))
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory($"{Define.ProtoBufDirectory}Outer");
|
Directory.CreateDirectory($"{Define.ProtoBufDirectory}Outer");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Directory.Exists($"{Define.ProtoBufDirectory}Inner"))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory($"{Define.ProtoBufDirectory}Inner");
|
||||||
|
}
|
||||||
|
|
||||||
if (!Directory.Exists($"{Define.ProtoBufDirectory}Bson"))
|
if (!Directory.Exists($"{Define.ProtoBufDirectory}Bson"))
|
||||||
{
|
{
|
||||||
@@ -80,14 +80,8 @@ public sealed class ProtoBufExporter
|
|||||||
private async Task Start(ProtoBufOpCodeType opCodeType)
|
private async Task Start(ProtoBufOpCodeType opCodeType)
|
||||||
{
|
{
|
||||||
List<string> files = new List<string>();
|
List<string> files = new List<string>();
|
||||||
var protoFile = "";
|
|
||||||
var opCodeName = "";
|
var opCodeName = "";
|
||||||
var parameter = "";
|
|
||||||
var className = "";
|
|
||||||
var isMsgHead = false;
|
|
||||||
OpcodeInfo opcodeInfo = null;
|
OpcodeInfo opcodeInfo = null;
|
||||||
string responseTypeStr = null;
|
|
||||||
string customRouteType = null;
|
|
||||||
_opcodes.Clear();
|
_opcodes.Clear();
|
||||||
var file = new StringBuilder();
|
var file = new StringBuilder();
|
||||||
var saveDirectory = new Dictionary<string, string>();
|
var saveDirectory = new Dictionary<string, string>();
|
||||||
@@ -103,10 +97,9 @@ public sealed class ProtoBufExporter
|
|||||||
_aRouteRequest = Opcode.OuterRouteRequest;
|
_aRouteRequest = Opcode.OuterRouteRequest;
|
||||||
_aRouteResponse = Opcode.OuterRouteResponse;
|
_aRouteResponse = Opcode.OuterRouteResponse;
|
||||||
opCodeName = "OuterOpcode";
|
opCodeName = "OuterOpcode";
|
||||||
protoFile = $"{Define.ProtoBufDirectory}OuterMessage.proto";
|
|
||||||
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
||||||
saveDirectory.Add(Define.ProtoBufClientDirectory, _clientTemplate);
|
saveDirectory.Add(Define.ProtoBufClientDirectory, _clientTemplate);
|
||||||
files.Add(protoFile);
|
files.Add($"{Define.ProtoBufDirectory}OuterMessage.proto");
|
||||||
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Outer").ToList());
|
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Outer").ToList());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -120,9 +113,8 @@ public sealed class ProtoBufExporter
|
|||||||
_aRouteRequest = Opcode.InnerRouteRequest + 1000;
|
_aRouteRequest = Opcode.InnerRouteRequest + 1000;
|
||||||
_aRouteResponse = Opcode.InnerRouteResponse + 1000;
|
_aRouteResponse = Opcode.InnerRouteResponse + 1000;
|
||||||
opCodeName = "InnerOpcode";
|
opCodeName = "InnerOpcode";
|
||||||
protoFile = $"{Define.ProtoBufDirectory}InnerMessage.proto";
|
|
||||||
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
||||||
files.Add(protoFile);
|
files.Add($"{Define.ProtoBufDirectory}InnerMessage.proto");
|
||||||
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Inner").ToList());
|
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Inner").ToList());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -136,18 +128,21 @@ public sealed class ProtoBufExporter
|
|||||||
_aRouteRequest = Opcode.InnerBsonRouteRequest + 1000;
|
_aRouteRequest = Opcode.InnerBsonRouteRequest + 1000;
|
||||||
_aRouteResponse = Opcode.InnerBsonRouteResponse + 1000;
|
_aRouteResponse = Opcode.InnerBsonRouteResponse + 1000;
|
||||||
opCodeName = "InnerBsonOpcode";
|
opCodeName = "InnerBsonOpcode";
|
||||||
protoFile = $"{Define.ProtoBufDirectory}InnerBsonMessage.proto";
|
|
||||||
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
saveDirectory.Add(Define.ProtoBufServerDirectory, _serverTemplate);
|
||||||
files.Add(protoFile);
|
files.Add($"{Define.ProtoBufDirectory}InnerBsonMessage.proto");
|
||||||
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Bson").ToList());
|
files.AddRange(Directory.GetFiles($"{Define.ProtoBufDirectory}Bson").ToList());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region GenerateProtoFiles
|
||||||
|
|
||||||
foreach (var filePath in files)
|
foreach (var filePath in files)
|
||||||
{
|
{
|
||||||
|
var parameter = "";
|
||||||
|
var className = "";
|
||||||
|
var isMsgHead = false;
|
||||||
|
string responseTypeStr = null;
|
||||||
|
string customRouteType = null;
|
||||||
var protoFileText = await File.ReadAllTextAsync(filePath);
|
var protoFileText = await File.ReadAllTextAsync(filePath);
|
||||||
|
|
||||||
foreach (var line in protoFileText.Split('\n'))
|
foreach (var line in protoFileText.Split('\n'))
|
||||||
@@ -340,9 +335,10 @@ public sealed class ProtoBufExporter
|
|||||||
|
|
||||||
file.Clear();
|
file.Clear();
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region GenerateOpCode
|
#region GenerateOpCode
|
||||||
|
file.Clear();
|
||||||
file.AppendLine("namespace TEngine");
|
file.AppendLine("namespace TEngine");
|
||||||
file.AppendLine("{");
|
file.AppendLine("{");
|
||||||
file.AppendLine($"\tpublic static partial class {opCodeName}");
|
file.AppendLine($"\tpublic static partial class {opCodeName}");
|
||||||
|
Reference in New Issue
Block a user