配置表接入和升级服务器框架到最新版

This commit is contained in:
2025-10-10 17:57:01 +08:00
parent 520d4f37bd
commit 8a302754d6
250 changed files with 6356 additions and 4135 deletions

View File

@@ -6,10 +6,8 @@ public class AppConfig
public string ExcelPath { get; set; }
public string ClientPath { get; set; }
public string ClientJsonPath { get; set; }
public string ClientNamespace { get; set; }
public string ServerPath { get; set; }
public string ServerJsonPath { get; set; }
public string ServerNamespace { get; set; }
public bool GenClient { get; set; }
public bool GenServer { get; set; }

View File

@@ -635,12 +635,6 @@ public sealed class ExcelExporter
var colInfos = isServer ? table.ServerColInfos : table.ClientColInfos;
var exportPath = isServer ? App.Config.ServerPath : App.Config.ClientPath;
var csNamespace = isServer ? App.Config.ServerNamespace : App.Config.ClientNamespace;
if (string.IsNullOrEmpty(csNamespace))
{
csNamespace = "NB";
}
if (colInfos.Count <= 0)
{
return;
@@ -720,7 +714,7 @@ public sealed class ExcelExporter
}
}
var template = ExcelTemplate.Template;
var template = GetTemplate(isServer);
if (fileBuilder.Length > 0)
{
@@ -729,8 +723,7 @@ public sealed class ExcelExporter
FileHelper.CreateDirectory(exportPath);
}
var content = template.Replace("(namespace)", csNamespace)
.Replace("(ConfigName)", csName)
var content = template.Replace("(ConfigName)", csName)
.Replace("(Fields)", fileBuilder.ToString());
File.WriteAllText(Path.Combine(exportPath, $"{csName}.cs"), content);
}
@@ -748,4 +741,10 @@ public sealed class ExcelExporter
return index >= 0;
}
private string GetTemplate(bool isServer)
{
var fileName = isServer ? "TemplateServer.txt" : "TemplateClient.txt";
return File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName));
}
}

View File

@@ -1,103 +0,0 @@
namespace NBConfigBuilder;
public static class ExcelTemplate
{
public static readonly string Template = """
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
#if FANTASY_NET
using Fantasy.ConfigTable;
using Fantasy.Serialize;
#else
using NBC;
using NBC.Serialize;
#endif
// ReSharper disable CollectionNeverUpdated.Global
// ReSharper disable UnusedAutoPropertyAccessor.Global
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CS0169
#pragma warning disable CS8618
#pragma warning disable CS8625
#pragma warning disable CS8603
namespace (namespace)
{
[ProtoContract]
public sealed partial class (ConfigName)Data : ASerialize, IConfigTable, IProto
{
[ProtoMember(1)]
public List<(ConfigName)> List { get; set; } = new List<(ConfigName)>();
#if FANTASY_NET
[ProtoIgnore]
private readonly ConcurrentDictionary<uint, (ConfigName)> _configs = new ConcurrentDictionary<uint, (ConfigName)>();
#else
[ProtoIgnore]
private readonly Dictionary<uint, (ConfigName)> _configs = new Dictionary<uint, (ConfigName)>();
#endif
private static (ConfigName)Data _instance = null;
public static (ConfigName)Data Instance
{
get { return _instance ??= ConfigTableHelper.Load<(ConfigName)Data>(); }
private set => _instance = value;
}
public (ConfigName) Get(uint id, bool check = true)
{
if (_configs.ContainsKey(id))
{
return _configs[id];
}
if (check)
{
throw new Exception($"(ConfigName) not find {id} Id");
}
return null;
}
public bool TryGet(uint id, out (ConfigName) config)
{
config = null;
if (!_configs.ContainsKey(id))
{
return false;
}
config = _configs[id];
return true;
}
public override void AfterDeserialization()
{
foreach (var config in List)
{
#if FANTASY_NET
_configs.TryAdd(config.Id, config);
#else
_configs.Add(config.Id, config);
#endif
config.AfterDeserialization();
}
EndInit();
}
public override void Dispose()
{
Instance = null;
}
}
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto
{(Fields)
}
}
""";
}

View File

@@ -46,17 +46,13 @@
textBoxServerGenJsonPath = new TextBox();
label5 = new Label();
buttonSelectServerJsonPath = new Button();
textBoxClientNamespce = new TextBox();
textBoxServerNamespace = new TextBox();
label6 = new Label();
label7 = new Label();
SuspendLayout();
//
// textBoxExcelPath
//
textBoxExcelPath.Location = new Point(105, 13);
textBoxExcelPath.Location = new Point(81, 13);
textBoxExcelPath.Name = "textBoxExcelPath";
textBoxExcelPath.Size = new Size(301, 23);
textBoxExcelPath.Size = new Size(325, 23);
textBoxExcelPath.TabIndex = 0;
//
// buttonSelectExcelPath
@@ -80,9 +76,9 @@
//
// textBoxClientGenPath
//
textBoxClientGenPath.Location = new Point(105, 42);
textBoxClientGenPath.Location = new Point(81, 42);
textBoxClientGenPath.Name = "textBoxClientGenPath";
textBoxClientGenPath.Size = new Size(301, 23);
textBoxClientGenPath.Size = new Size(325, 23);
textBoxClientGenPath.TabIndex = 3;
//
// buttonSelectClientPath
@@ -100,7 +96,7 @@
checkBoxGenClient.AutoSize = true;
checkBoxGenClient.Checked = true;
checkBoxGenClient.CheckState = CheckState.Checked;
checkBoxGenClient.Location = new Point(412, 160);
checkBoxGenClient.Location = new Point(504, 13);
checkBoxGenClient.Name = "checkBoxGenClient";
checkBoxGenClient.Size = new Size(87, 21);
checkBoxGenClient.TabIndex = 5;
@@ -118,9 +114,9 @@
//
// textBoxServerGenPath
//
textBoxServerGenPath.Location = new Point(105, 100);
textBoxServerGenPath.Location = new Point(81, 100);
textBoxServerGenPath.Name = "textBoxServerGenPath";
textBoxServerGenPath.Size = new Size(301, 23);
textBoxServerGenPath.Size = new Size(325, 23);
textBoxServerGenPath.TabIndex = 7;
//
// label3
@@ -137,7 +133,7 @@
checkBoxGenServer.AutoSize = true;
checkBoxGenServer.Checked = true;
checkBoxGenServer.CheckState = CheckState.Checked;
checkBoxGenServer.Location = new Point(412, 189);
checkBoxGenServer.Location = new Point(504, 42);
checkBoxGenServer.Name = "checkBoxGenServer";
checkBoxGenServer.Size = new Size(87, 21);
checkBoxGenServer.TabIndex = 9;
@@ -157,9 +153,9 @@
//
// buttonRun
//
buttonRun.Location = new Point(504, 13);
buttonRun.Location = new Point(504, 77);
buttonRun.Name = "buttonRun";
buttonRun.Size = new Size(82, 195);
buttonRun.Size = new Size(87, 77);
buttonRun.TabIndex = 12;
buttonRun.Text = "执行";
buttonRun.UseVisualStyleBackColor = true;
@@ -167,9 +163,9 @@
//
// textBoxClientGenJsonPath
//
textBoxClientGenJsonPath.Location = new Point(105, 71);
textBoxClientGenJsonPath.Location = new Point(81, 71);
textBoxClientGenJsonPath.Name = "textBoxClientGenJsonPath";
textBoxClientGenJsonPath.Size = new Size(301, 23);
textBoxClientGenJsonPath.Size = new Size(325, 23);
textBoxClientGenJsonPath.TabIndex = 13;
//
// label4
@@ -193,9 +189,9 @@
//
// textBoxServerGenJsonPath
//
textBoxServerGenJsonPath.Location = new Point(105, 131);
textBoxServerGenJsonPath.Location = new Point(81, 131);
textBoxServerGenJsonPath.Name = "textBoxServerGenJsonPath";
textBoxServerGenJsonPath.Size = new Size(301, 23);
textBoxServerGenJsonPath.Size = new Size(325, 23);
textBoxServerGenJsonPath.TabIndex = 16;
//
// label5
@@ -217,47 +213,11 @@
buttonSelectServerJsonPath.UseVisualStyleBackColor = true;
buttonSelectServerJsonPath.Click += buttonSelectServerJsonPath_Click;
//
// textBoxClientNamespce
//
textBoxClientNamespce.Location = new Point(105, 160);
textBoxClientNamespce.Name = "textBoxClientNamespce";
textBoxClientNamespce.Size = new Size(301, 23);
textBoxClientNamespce.TabIndex = 19;
//
// textBoxServerNamespace
//
textBoxServerNamespace.Location = new Point(105, 189);
textBoxServerNamespace.Name = "textBoxServerNamespace";
textBoxServerNamespace.Size = new Size(301, 23);
textBoxServerNamespace.TabIndex = 20;
//
// label6
//
label6.AutoSize = true;
label6.Location = new Point(7, 161);
label6.Name = "label6";
label6.Size = new Size(92, 17);
label6.TabIndex = 21;
label6.Text = "客户端命名空间";
//
// label7
//
label7.AutoSize = true;
label7.Location = new Point(7, 192);
label7.Name = "label7";
label7.Size = new Size(92, 17);
label7.TabIndex = 22;
label7.Text = "服务端命名空间";
//
// Form1
//
AutoScaleDimensions = new SizeF(7F, 17F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(596, 216);
Controls.Add(label7);
Controls.Add(label6);
Controls.Add(textBoxServerNamespace);
Controls.Add(textBoxClientNamespce);
ClientSize = new Size(599, 165);
Controls.Add(buttonSelectServerJsonPath);
Controls.Add(label5);
Controls.Add(textBoxServerGenJsonPath);
@@ -302,9 +262,5 @@
private TextBox textBoxServerGenJsonPath;
private Label label5;
private Button buttonSelectServerJsonPath;
private TextBox textBoxClientNamespce;
private TextBox textBoxServerNamespace;
private Label label6;
private Label label7;
}
}

View File

@@ -149,9 +149,7 @@ namespace NBConfigBuilder
ServerPath = textBoxServerGenPath.Text,
ServerJsonPath = textBoxServerGenJsonPath.Text,
GenClient = checkBoxGenClient.Checked,
GenServer = checkBoxGenServer.Checked,
ClientNamespace = textBoxClientNamespce.Text,
ServerNamespace = textBoxServerNamespace.Text
GenServer = checkBoxGenServer.Checked
};
App.Config = config;
try
@@ -184,8 +182,6 @@ namespace NBConfigBuilder
checkBoxGenServer.Checked = config.GenServer;
textBoxClientGenJsonPath.Text = config.ClientJsonPath ?? "";
textBoxServerGenJsonPath.Text = config.ServerJsonPath ?? "";
textBoxClientNamespce.Text = config.ClientNamespace ?? "NB";
textBoxServerNamespace.Text = config.ServerNamespace ?? "NB";
}
}
catch (Exception ex)

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Microsoft ResX Schema
Version 2.0
@@ -48,7 +48,7 @@
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter

View File

@@ -21,5 +21,14 @@
<None Update="NLog.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="TemplateClient.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="TemplateBack.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="TemplateServer.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,96 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
#if FANTASY_NET
using Fantasy.ConfigTable;
using Fantasy.Serialize;
#else
using NBC;
using NBC.Serialize;
#endif
// ReSharper disable CollectionNeverUpdated.Global
// ReSharper disable UnusedAutoPropertyAccessor.Global
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CS0169
#pragma warning disable CS8618
#pragma warning disable CS8625
#pragma warning disable CS8603
namespace (namespace)
{
[ProtoContract]
public sealed partial class (ConfigName)Data : ASerialize, IConfigTable, IProto
{
[ProtoMember(1)]
public List<(ConfigName)> List { get; set; } = new List<(ConfigName)>();
#if FANTASY_NET
[ProtoIgnore]
private readonly ConcurrentDictionary<uint, (ConfigName)> _configs = new ConcurrentDictionary<uint, (ConfigName)>();
#else
[ProtoIgnore]
private readonly Dictionary<uint, (ConfigName)> _configs = new Dictionary<uint, (ConfigName)>();
#endif
private static (ConfigName)Data _instance = null;
public static (ConfigName)Data Instance
{
get { return _instance ??= ConfigTableHelper.Load<(ConfigName)Data>(); }
private set => _instance = value;
}
public (ConfigName) Get(uint id, bool check = true)
{
if (_configs.ContainsKey(id))
{
return _configs[id];
}
if (check)
{
throw new Exception($"(ConfigName) not find {id} Id");
}
return null;
}
public bool TryGet(uint id, out (ConfigName) config)
{
config = null;
if (!_configs.ContainsKey(id))
{
return false;
}
config = _configs[id];
return true;
}
public override void AfterDeserialization()
{
foreach (var config in List)
{
#if FANTASY_NET
_configs.TryAdd(config.Id, config);
#else
_configs.Add(config.Id, config);
#endif
config.AfterDeserialization();
}
EndInit();
}
public override void Dispose()
{
Instance = null;
}
}
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto
{(Fields)
}
}

View File

@@ -0,0 +1,79 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
using NBC;
using NBC.Serialize;
namespace NBF
{
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto, IConfigTable
{
(Fields)
[ProtoIgnore]
public uint Key => Id;
#region Static
private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>();
public static (ConfigName) Get(uint key)
{
return Context.Get(key);
}
public static (ConfigName) Get(Predicate<(ConfigName)> match)
{
return Context.Get(match);
}
public static (ConfigName) Fist()
{
return Context.Fist();
}
public static (ConfigName) Last()
{
return Context.Last();
}
public static (ConfigName) Fist(Predicate<(ConfigName)> match)
{
return Context.Fist(match);
}
public static (ConfigName) Last(Predicate<(ConfigName)> match)
{
return Context.Last(match);
}
public static int Count()
{
return Context.Count();
}
public static int Count(Func<(ConfigName), bool> predicate)
{
return Context.Count(predicate);
}
public static List<(ConfigName)> GetList()
{
return Context.GetList();
}
public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match)
{
return Context.GetList(match);
}
public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
{
ConfigTableHelper.ParseLine<(ConfigName)>(arr);
}
#endregion
}
}

View File

@@ -0,0 +1,79 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
using Fantasy.Serialize;
using Fantasy.ConfigTable;
namespace NBF
{
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto, IConfigTable
{
(Fields)
[ProtoIgnore]
public uint Key => Id;
#region Static
private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>();
public static (ConfigName) Get(uint key)
{
return Context.Get(key);
}
public static (ConfigName) Get(Predicate<(ConfigName)> match)
{
return Context.Get(match);
}
public static (ConfigName) Fist()
{
return Context.Fist();
}
public static (ConfigName) Last()
{
return Context.Last();
}
public static (ConfigName) Fist(Predicate<(ConfigName)> match)
{
return Context.Fist(match);
}
public static (ConfigName) Last(Predicate<(ConfigName)> match)
{
return Context.Last(match);
}
public static int Count()
{
return Context.Count();
}
public static int Count(Func<(ConfigName), bool> predicate)
{
return Context.Count(predicate);
}
public static List<(ConfigName)> GetList()
{
return Context.GetList();
}
public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match)
{
return Context.GetList(match);
}
public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
{
ConfigTableHelper.ParseLine<(ConfigName)>(arr);
}
#endregion
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,44 +0,0 @@
{
"Export": {
"ExcelProgramPath": {
"Value": "../../Config/Excel/",
"Comment": "Excel文件夹的根目录"
},
"ExcelVersionFile": {
"Value": "../../Config/Excel/Version.txt",
"Comment": "Excel的Version文件位置、这个文件用于记录每次导出对比是否需要再次导出的文件"
},
"ExcelServerFileDirectory": {
"Value": "../../Entity/Generate/ConfigTable/Entity/",
"Comment": "Excel生成的代码文件、在服务端文件夹位置"
},
"ExcelClientFileDirectory": {
"Value": "../../../Fishing2/Assets/Scripts/Generate/ConfigTable/Entity/",
"Comment": "Excel生成的代码文件、在客户端文件夹位置"
},
"ExcelServerBinaryDirectory": {
"Value": "../../Config/Binary/",
"Comment": "Excel生成服务器二进制数据文件夹位置"
},
"ExcelClientBinaryDirectory": {
"Value": "../../../Examples/Client/Unity/Assets/Bundles/Config/",
"Comment": "Excel生成在客户端的二进制数据文件夹位置"
},
"ExcelServerJsonDirectory": {
"Value": "../../Config/Json/Server/",
"Comment": "Excel生成在服务端的Json数据文件夹位置"
},
"ExcelClientJsonDirectory": {
"Value": "../../Config/Json/Client/",
"Comment": "Excel生成在客户端的Json数据文件夹位置"
},
"ServerCustomExportDirectory": {
"Value": "../../Entity/Generate/CustomExport/",
"Comment": "Excel在服务端生成自定义代码的文件夹位置"
},
"ClientCustomExportDirectory": {
"Value": "../../../Examples/Client/Unity/Assets/Scripts/Hotfix/Generate/CustomExport",
"Comment": "Excel在客户端端生成自定义代码的文件夹位置"
}
}
}

View File

@@ -1,433 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"Fantasy.Tools.ConfigTable/1.0.0": {
"dependencies": {
"CommandLineParser": "2.9.1",
"EPPlus": "8.0.5",
"Microsoft.CodeAnalysis.CSharp": "4.14.0",
"Microsoft.Extensions.Configuration.Json": "9.0.6",
"Newtonsoft.Json": "13.0.3",
"protobuf-net": "3.2.52"
},
"runtime": {
"Fantasy.Tools.ConfigTable.dll": {}
}
},
"CommandLineParser/2.9.1": {
"runtime": {
"lib/netstandard2.0/CommandLine.dll": {
"assemblyVersion": "2.9.1.0",
"fileVersion": "2.9.1.0"
}
}
},
"EPPlus/8.0.5": {
"dependencies": {
"EPPlus.Interfaces": "8.0.0",
"Microsoft.Extensions.Configuration.Json": "9.0.6",
"Microsoft.IO.RecyclableMemoryStream": "3.0.1",
"System.ComponentModel.Annotations": "5.0.0",
"System.Security.Cryptography.Pkcs": "9.0.3",
"System.Security.Cryptography.Xml": "9.0.3",
"System.Text.Encoding.CodePages": "9.0.3"
},
"runtime": {
"lib/net9.0/EPPlus.dll": {
"assemblyVersion": "8.0.5.0",
"fileVersion": "8.0.5.0"
}
}
},
"EPPlus.Interfaces/8.0.0": {
"runtime": {
"lib/net9.0/EPPlus.Interfaces.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.0.0"
}
}
},
"Microsoft.CodeAnalysis.Analyzers/3.11.0": {},
"Microsoft.CodeAnalysis.Common/4.14.0": {
"dependencies": {
"Microsoft.CodeAnalysis.Analyzers": "3.11.0",
"System.Collections.Immutable": "9.0.0",
"System.Reflection.Metadata": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.CodeAnalysis.dll": {
"assemblyVersion": "4.14.0.0",
"fileVersion": "4.1400.25.26210"
}
}
},
"Microsoft.CodeAnalysis.CSharp/4.14.0": {
"dependencies": {
"Microsoft.CodeAnalysis.Analyzers": "3.11.0",
"Microsoft.CodeAnalysis.Common": "4.14.0",
"System.Collections.Immutable": "9.0.0",
"System.Reflection.Metadata": "9.0.0"
},
"runtime": {
"lib/net9.0/Microsoft.CodeAnalysis.CSharp.dll": {
"assemblyVersion": "4.14.0.0",
"fileVersion": "4.1400.25.26210"
}
}
},
"Microsoft.Extensions.Configuration/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.FileExtensions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration": "9.0.6",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6",
"Microsoft.Extensions.FileProviders.Physical": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.Json/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration": "9.0.6",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.Configuration.FileExtensions": "9.0.6",
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Json.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileProviders.Physical/9.0.6": {
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6",
"Microsoft.Extensions.FileSystemGlobbing": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileProviders.Physical.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileSystemGlobbing/9.0.6": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Primitives/9.0.6": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.IO.RecyclableMemoryStream/3.0.1": {
"runtime": {
"lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": {
"assemblyVersion": "3.0.1.0",
"fileVersion": "3.0.1.0"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
},
"protobuf-net/3.2.52": {
"dependencies": {
"protobuf-net.Core": "3.2.52"
},
"runtime": {
"lib/net8.0/protobuf-net.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.2.52.62683"
}
}
},
"protobuf-net.Core/3.2.52": {
"runtime": {
"lib/net8.0/protobuf-net.Core.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.2.52.62683"
}
}
},
"System.Collections.Immutable/9.0.0": {},
"System.ComponentModel.Annotations/5.0.0": {},
"System.Reflection.Metadata/9.0.0": {},
"System.Security.Cryptography.Pkcs/9.0.3": {
"runtime": {
"lib/net9.0/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.325.11113"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.325.11113"
}
}
},
"System.Security.Cryptography.Xml/9.0.3": {
"dependencies": {
"System.Security.Cryptography.Pkcs": "9.0.3"
},
"runtime": {
"lib/net9.0/System.Security.Cryptography.Xml.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.325.11113"
}
}
},
"System.Text.Encoding.CodePages/9.0.3": {
"runtime": {
"lib/net9.0/System.Text.Encoding.CodePages.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.325.11113"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Text.Encoding.CodePages.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.325.11113"
}
}
}
}
},
"libraries": {
"Fantasy.Tools.ConfigTable/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"CommandLineParser/2.9.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==",
"path": "commandlineparser/2.9.1",
"hashPath": "commandlineparser.2.9.1.nupkg.sha512"
},
"EPPlus/8.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Q8H+E7yDy71I4hCONrb2OSUzkhJI9WSbSeJOCLji5iry45QAiffd14mLtdYocQCYFjQA04iCXomHjZitAJgm4Q==",
"path": "epplus/8.0.5",
"hashPath": "epplus.8.0.5.nupkg.sha512"
},
"EPPlus.Interfaces/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-EFr/vUbDYK55sxjfUfLUiv7oiz1f6ZLRYMKILHyfnWS019cYX5zJaQ1U3OojRuED8tgEeXX9QeG7Kj/b0XE7hQ==",
"path": "epplus.interfaces/8.0.0",
"hashPath": "epplus.interfaces.8.0.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.Analyzers/3.11.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg==",
"path": "microsoft.codeanalysis.analyzers/3.11.0",
"hashPath": "microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.Common/4.14.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
"path": "microsoft.codeanalysis.common/4.14.0",
"hashPath": "microsoft.codeanalysis.common.4.14.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.CSharp/4.14.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
"path": "microsoft.codeanalysis.csharp/4.14.0",
"hashPath": "microsoft.codeanalysis.csharp.4.14.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VWB5jdkxHsRiuoniTqwOL32R4OWyp5If/bAucLjRJczRVNcwb8iCXKLjn3Inv8fv+jHMVMnvQLg7xhSys+y5PA==",
"path": "microsoft.extensions.configuration/9.0.6",
"hashPath": "microsoft.extensions.configuration.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3GgMIi2jP8g1fBW93Z9b9Unamc0SIsgyhiCmC91gq4loTixK9vQMuxxUsfJ1kRGwn+/FqLKwOHqmn0oYWn3Fvw==",
"path": "microsoft.extensions.configuration.abstractions/9.0.6",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.FileExtensions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pCEueasI5JhJ24KYzMFxtG40zyLnWpcQYawpARh9FNq9XbWozuWgexmdkPa8p8YoVNlpi3ecKfcjfoRMkKAufw==",
"path": "microsoft.extensions.configuration.fileextensions/9.0.6",
"hashPath": "microsoft.extensions.configuration.fileextensions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Json/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-N0dgOYQ9tDzJouL9Tyx2dgMCcHV2pBaY8yVtorbDqYYwiDRS2zd1TbhTA2FMHqXF3SMjBoO+gONZcDoA79gdSA==",
"path": "microsoft.extensions.configuration.json/9.0.6",
"hashPath": "microsoft.extensions.configuration.json.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-q9FPkSGVA9ipI255p3PBAvWNXas5Tzjyp/DwYSwT+46mIFw9fWZahsF6vHpoxLt5/vtANotH2sAm7HunuFIx9g==",
"path": "microsoft.extensions.fileproviders.abstractions/9.0.6",
"hashPath": "microsoft.extensions.fileproviders.abstractions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Physical/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-l+dFA0NRl90vSIiJNy5d7V0kpTEOWHTqbgoWYzlTwF5uiM5sWJ953haaELKE05jkyJdnemVTnqjrlgo4wo7oyg==",
"path": "microsoft.extensions.fileproviders.physical/9.0.6",
"hashPath": "microsoft.extensions.fileproviders.physical.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileSystemGlobbing/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1HJCAbwukNEoYbHgHbKHmenU0V/0huw8+i7Qtf5rLUG1E+3kEwRJQxpwD3wbTEagIgPSQisNgJTvmUX9yYVc6g==",
"path": "microsoft.extensions.filesystemglobbing/9.0.6",
"hashPath": "microsoft.extensions.filesystemglobbing.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BHniU24QV67qp1pJknqYSofAPYGmijGI8D+ci9yfw33iuFdyOeB9lWTg78ThyYLyQwZw3s0vZ36VMb0MqbUuLw==",
"path": "microsoft.extensions.primitives/9.0.6",
"hashPath": "microsoft.extensions.primitives.9.0.6.nupkg.sha512"
},
"Microsoft.IO.RecyclableMemoryStream/3.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==",
"path": "microsoft.io.recyclablememorystream/3.0.1",
"hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
},
"protobuf-net/3.2.52": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XbZurNU3B/VaL/5OJ0kshO+AWxsZroI1saKuLfZpDwH2ngb2K9bdF1nIW6elFOViZw7TQCmfVZapxrMKCDqecQ==",
"path": "protobuf-net/3.2.52",
"hashPath": "protobuf-net.3.2.52.nupkg.sha512"
},
"protobuf-net.Core/3.2.52": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zOpGtUo2QTgbsiI0D0yCe8aUTgDPov6kqIu1CDHI6isqhYcAHdirRrdnfsQXmAUfAWx1LwVYGgC6xe6fNS4UAg==",
"path": "protobuf-net.core/3.2.52",
"hashPath": "protobuf-net.core.3.2.52.nupkg.sha512"
},
"System.Collections.Immutable/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w==",
"path": "system.collections.immutable/9.0.0",
"hashPath": "system.collections.immutable.9.0.0.nupkg.sha512"
},
"System.ComponentModel.Annotations/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==",
"path": "system.componentmodel.annotations/5.0.0",
"hashPath": "system.componentmodel.annotations.5.0.0.nupkg.sha512"
},
"System.Reflection.Metadata/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
"path": "system.reflection.metadata/9.0.0",
"hashPath": "system.reflection.metadata.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.Pkcs/9.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4XYeGOYBYtvaF2bH+cps+vPWjI5jQCWR7R1B4dI9I1Da9JQrXYP7mxdci+zKV2Ie4JafaOnOoNaDtzxkaXUxCg==",
"path": "system.security.cryptography.pkcs/9.0.3",
"hashPath": "system.security.cryptography.pkcs.9.0.3.nupkg.sha512"
},
"System.Security.Cryptography.Xml/9.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dPG84G5/szhNQ8utXUB4NmrJLGvFe8yd4P0MFjy0/VNxkQNGR6CkkLjptkO5b5rcnw/4c2xDKcrwLxgc1zKWgg==",
"path": "system.security.cryptography.xml/9.0.3",
"hashPath": "system.security.cryptography.xml.9.0.3.nupkg.sha512"
},
"System.Text.Encoding.CodePages/9.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-80ABiml18jG+6PB6GmrOyMlWla66f4Tp6RgUCJXZLki1Zu+yqbflXvweT86j2xImKHXoVgivto25Z8P5+FO85w==",
"path": "system.text.encoding.codepages/9.0.3",
"hashPath": "system.text.encoding.codepages.9.0.3.nupkg.sha512"
}
}
}

View File

@@ -1,12 +0,0 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@@ -1,33 +0,0 @@
@echo off
echo Please select an option:
echo 1. Client Increment
echo 2. Client all
echo 3. Server Increment
echo 4. Server all
echo 5. Client and Server Increment
echo 6. Client and Server all
set /p choice=Please select an option:
if "%choice%"=="1" (
echo Client Increment
dotnet Fantasy.Tools.ConfigTable.dll --p 1 --e 1
) else if "%choice%"=="2" (
echo Client all
dotnet Fantasy.Tools.ConfigTable.dll --p 1 --e 2
) else if "%choice%"=="3" (
echo Server Increment
dotnet Fantasy.Tools.ConfigTable.dll --p 2 --e 1
) else if "%choice%"=="4" (
echo Server all
dotnet Fantasy.Tools.ConfigTable.dll --p 2 --e 2
) else if "%choice%"=="5" (
echo Client and Server Increment
dotnet Fantasy.Tools.ConfigTable.dll --p 3 --e 1
) else if "%choice%"=="6" (
echo Client and Server all
dotnet Fantasy.Tools.ConfigTable.dll --p 3 --e 2
) else (
echo Invalid option
)

View File

@@ -1,34 +0,0 @@
#!/bin/bash
echo "1. Client Increment"
echo "2. Client all"
echo "3. Server Increment"
echo "4. Server all"
echo "5. Client and Server Increment"
echo "6. Client and Server all"
read -n 1 -p "Please select an option:" choice
echo ""
case $choice in
1)
dotnet Fantasy.Tools.ConfigTable.dll --p 1 --e 1
;;
2)
dotnet Fantasy.Tools.ConfigTable.dll --p 1 --e 2
;;
3)
dotnet Fantasy.Tools.ConfigTable.dll --p 2 --e 1
;;
4)
dotnet Fantasy.Tools.ConfigTable.dll --p 2 --e 2
;;
5)
dotnet Fantasy.Tools.ConfigTable.dll --p 3 --e 1
;;
6)
dotnet Fantasy.Tools.ConfigTable.dll --p 3 --e 2
;;
*)
echo "Invalid option"
;;
esac

View File

@@ -1,29 +0,0 @@
{
"Export": {
"NetworkProtocolDirectory": {
"Value": "../../../Config/NetworkProtocol/",
"Comment": "ProtoBuf文件所在的文件夹位置"
},
"NetworkProtocolServerDirectory": {
"Value": "../../../Entity/Generate/NetworkProtocol/",
"Comment": "ProtoBuf生成到服务端的文件夹位置"
},
"NetworkProtocolClientDirectory": {
"Value": "../../../../Fishing2/Assets/Scripts/Generate/NetworkProtocol/",
"Comment": "ProtoBuf生成到客户端的文件夹位置"
},
"Serializes": {
"Value": [
// {
// "KeyIndex": 0,
// "NameSpace" : "MemoryPack",
// "SerializeName": "MemoryPack",
// "Attribute": "\t[MemoryPackable]",
// "Ignore": "\t\t[MemoryPackIgnore]",
// "Member": "MemoryPackOrder"
// }
],
"Comment": "自定义序列化器"
}
}
}

View File

@@ -1,206 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"Fantasy.Tools.NetworkProtocol/1.0.0": {
"dependencies": {
"CommandLineParser": "2.9.1",
"Microsoft.Extensions.Configuration.Json": "9.0.6",
"Newtonsoft.Json": "13.0.3"
},
"runtime": {
"Fantasy.Tools.NetworkProtocol.dll": {}
}
},
"CommandLineParser/2.9.1": {
"runtime": {
"lib/netstandard2.0/CommandLine.dll": {
"assemblyVersion": "2.9.1.0",
"fileVersion": "2.9.1.0"
}
}
},
"Microsoft.Extensions.Configuration/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.FileExtensions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration": "9.0.6",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6",
"Microsoft.Extensions.FileProviders.Physical": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Configuration.Json/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Configuration": "9.0.6",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.6",
"Microsoft.Extensions.Configuration.FileExtensions": "9.0.6",
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.Configuration.Json.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/9.0.6": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileProviders.Physical/9.0.6": {
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.6",
"Microsoft.Extensions.FileSystemGlobbing": "9.0.6",
"Microsoft.Extensions.Primitives": "9.0.6"
},
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileProviders.Physical.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.FileSystemGlobbing/9.0.6": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Microsoft.Extensions.Primitives/9.0.6": {
"runtime": {
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.625.26613"
}
}
},
"Newtonsoft.Json/13.0.3": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.3.27908"
}
}
}
}
},
"libraries": {
"Fantasy.Tools.NetworkProtocol/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"CommandLineParser/2.9.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OE0sl1/sQ37bjVsPKKtwQlWDgqaxWgtme3xZz7JssWUzg5JpMIyHgCTY9MVMxOg48fJ1AgGT3tgdH5m/kQ5xhA==",
"path": "commandlineparser/2.9.1",
"hashPath": "commandlineparser.2.9.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VWB5jdkxHsRiuoniTqwOL32R4OWyp5If/bAucLjRJczRVNcwb8iCXKLjn3Inv8fv+jHMVMnvQLg7xhSys+y5PA==",
"path": "microsoft.extensions.configuration/9.0.6",
"hashPath": "microsoft.extensions.configuration.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3GgMIi2jP8g1fBW93Z9b9Unamc0SIsgyhiCmC91gq4loTixK9vQMuxxUsfJ1kRGwn+/FqLKwOHqmn0oYWn3Fvw==",
"path": "microsoft.extensions.configuration.abstractions/9.0.6",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.FileExtensions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pCEueasI5JhJ24KYzMFxtG40zyLnWpcQYawpARh9FNq9XbWozuWgexmdkPa8p8YoVNlpi3ecKfcjfoRMkKAufw==",
"path": "microsoft.extensions.configuration.fileextensions/9.0.6",
"hashPath": "microsoft.extensions.configuration.fileextensions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Json/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-N0dgOYQ9tDzJouL9Tyx2dgMCcHV2pBaY8yVtorbDqYYwiDRS2zd1TbhTA2FMHqXF3SMjBoO+gONZcDoA79gdSA==",
"path": "microsoft.extensions.configuration.json/9.0.6",
"hashPath": "microsoft.extensions.configuration.json.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-q9FPkSGVA9ipI255p3PBAvWNXas5Tzjyp/DwYSwT+46mIFw9fWZahsF6vHpoxLt5/vtANotH2sAm7HunuFIx9g==",
"path": "microsoft.extensions.fileproviders.abstractions/9.0.6",
"hashPath": "microsoft.extensions.fileproviders.abstractions.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Physical/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-l+dFA0NRl90vSIiJNy5d7V0kpTEOWHTqbgoWYzlTwF5uiM5sWJ953haaELKE05jkyJdnemVTnqjrlgo4wo7oyg==",
"path": "microsoft.extensions.fileproviders.physical/9.0.6",
"hashPath": "microsoft.extensions.fileproviders.physical.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.FileSystemGlobbing/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1HJCAbwukNEoYbHgHbKHmenU0V/0huw8+i7Qtf5rLUG1E+3kEwRJQxpwD3wbTEagIgPSQisNgJTvmUX9yYVc6g==",
"path": "microsoft.extensions.filesystemglobbing/9.0.6",
"hashPath": "microsoft.extensions.filesystemglobbing.9.0.6.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BHniU24QV67qp1pJknqYSofAPYGmijGI8D+ci9yfw33iuFdyOeB9lWTg78ThyYLyQwZw3s0vZ36VMb0MqbUuLw==",
"path": "microsoft.extensions.primitives/9.0.6",
"hashPath": "microsoft.extensions.primitives.9.0.6.nupkg.sha512"
},
"Newtonsoft.Json/13.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
"path": "newtonsoft.json/13.0.3",
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
}
}
}

View File

@@ -1,12 +0,0 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@@ -1,21 +0,0 @@
@echo off
echo Please select an option:
echo 1. Client
echo 2. Server
echo 3. All
set /p choice=Please select an option:
if "%choice%"=="1" (
echo Client
dotnet Fantasy.Tools.NetworkProtocol.dll --p 1
) else if "%choice%"=="2" (
echo Server
dotnet Fantasy.Tools.NetworkProtocol.dll --p 2
) else if "%choice%"=="3" (
echo All
dotnet Fantasy.Tools.NetworkProtocol.dll --p 3
) else (
echo Invalid option
)

View File

@@ -1,24 +0,0 @@
#!/bin/bash
echo "1. Client"
echo "2. Server"
echo "3. All"
read -n 1 -p "Please select an option:" choice
echo ""
echo ""
script_dir=$(cd $(dirname $0) && pwd)
case $choice in
1)
dotnet $script_dir/Fantasy.Tools.NetworkProtocol.dll --p 1 --f $script_dir
;;
2)
dotnet $script_dir/Fantasy.Tools.NetworkProtocol.dll --p 2 --f $script_dir
;;
3)
dotnet $script_dir/Fantasy.Tools.NetworkProtocol.dll --p 3 --f $script_dir
;;
*)
echo "Invalid option"
;;
esac

View File

@@ -1,33 +0,0 @@
#if SERVER
using ProtoBuf;
(UsingNamespace)
using System.Collections.Generic;
using MongoDB.Bson.Serialization.Attributes;
using Fantasy;
using Fantasy.Network.Interface;
using Fantasy.Serialize;
// ReSharper disable InconsistentNaming
// ReSharper disable RedundantUsingDirective
// ReSharper disable RedundantOverriddenMember
// ReSharper disable PartialTypeWithSinglePart
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable CheckNamespace
#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type.
#pragma warning disable CS8618
namespace NBC
{
#else
using ProtoBuf;
(UsingNamespace)
using System.Collections.Generic;
using Fantasy;
using Fantasy.Network.Interface;
using Fantasy.Serialize;
#pragma warning disable CS8618
namespace Fantasy
{
#endif
(Content)}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,516 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"NBConfigBuilder/1.0.0": {
"dependencies": {
"EPPlus": "8.2.0",
"Microsoft.CodeAnalysis.CSharp": "4.14.0",
"NLog": "6.0.4",
"Newtonsoft.Json": "13.0.4",
"protobuf-net": "3.2.56"
},
"runtime": {
"NBConfigBuilder.dll": {}
}
},
"EPPlus/8.2.0": {
"dependencies": {
"EPPlus.Interfaces": "8.1.0",
"Microsoft.Extensions.Configuration.Json": "8.0.1",
"Microsoft.IO.RecyclableMemoryStream": "3.0.1",
"System.ComponentModel.Annotations": "5.0.0",
"System.Security.Cryptography.Pkcs": "8.0.1",
"System.Security.Cryptography.Xml": "8.0.2",
"System.Text.Encoding.CodePages": "8.0.0"
},
"runtime": {
"lib/net8.0/EPPlus.dll": {
"assemblyVersion": "8.2.0.0",
"fileVersion": "8.2.0.0"
}
}
},
"EPPlus.Interfaces/8.1.0": {
"runtime": {
"lib/net8.0/EPPlus.Interfaces.dll": {
"assemblyVersion": "8.1.0.0",
"fileVersion": "8.1.0.0"
}
}
},
"Microsoft.CodeAnalysis.Analyzers/3.11.0": {},
"Microsoft.CodeAnalysis.Common/4.14.0": {
"dependencies": {
"Microsoft.CodeAnalysis.Analyzers": "3.11.0",
"System.Collections.Immutable": "9.0.0",
"System.Reflection.Metadata": "9.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.CodeAnalysis.dll": {
"assemblyVersion": "4.14.0.0",
"fileVersion": "4.1400.25.26210"
}
},
"resources": {
"lib/net8.0/cs/Microsoft.CodeAnalysis.resources.dll": {
"locale": "cs"
},
"lib/net8.0/de/Microsoft.CodeAnalysis.resources.dll": {
"locale": "de"
},
"lib/net8.0/es/Microsoft.CodeAnalysis.resources.dll": {
"locale": "es"
},
"lib/net8.0/fr/Microsoft.CodeAnalysis.resources.dll": {
"locale": "fr"
},
"lib/net8.0/it/Microsoft.CodeAnalysis.resources.dll": {
"locale": "it"
},
"lib/net8.0/ja/Microsoft.CodeAnalysis.resources.dll": {
"locale": "ja"
},
"lib/net8.0/ko/Microsoft.CodeAnalysis.resources.dll": {
"locale": "ko"
},
"lib/net8.0/pl/Microsoft.CodeAnalysis.resources.dll": {
"locale": "pl"
},
"lib/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll": {
"locale": "pt-BR"
},
"lib/net8.0/ru/Microsoft.CodeAnalysis.resources.dll": {
"locale": "ru"
},
"lib/net8.0/tr/Microsoft.CodeAnalysis.resources.dll": {
"locale": "tr"
},
"lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll": {
"locale": "zh-Hans"
},
"lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll": {
"locale": "zh-Hant"
}
}
},
"Microsoft.CodeAnalysis.CSharp/4.14.0": {
"dependencies": {
"Microsoft.CodeAnalysis.Analyzers": "3.11.0",
"Microsoft.CodeAnalysis.Common": "4.14.0",
"System.Collections.Immutable": "9.0.0",
"System.Reflection.Metadata": "9.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.CodeAnalysis.CSharp.dll": {
"assemblyVersion": "4.14.0.0",
"fileVersion": "4.1400.25.26210"
}
},
"resources": {
"lib/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "cs"
},
"lib/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "de"
},
"lib/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "es"
},
"lib/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "fr"
},
"lib/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "it"
},
"lib/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "ja"
},
"lib/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "ko"
},
"lib/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "pl"
},
"lib/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "pt-BR"
},
"lib/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "ru"
},
"lib/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "tr"
},
"lib/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "zh-Hans"
},
"lib/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll": {
"locale": "zh-Hant"
}
}
},
"Microsoft.Extensions.Configuration/8.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Configuration.FileExtensions/8.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "8.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
"Microsoft.Extensions.FileProviders.Physical": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.724.31311"
}
}
},
"Microsoft.Extensions.Configuration.Json/8.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "8.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "8.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
"Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Primitives/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.IO.RecyclableMemoryStream/3.0.1": {
"runtime": {
"lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": {
"assemblyVersion": "3.0.1.0",
"fileVersion": "3.0.1.0"
}
}
},
"Newtonsoft.Json/13.0.4": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.4.30916"
}
}
},
"NLog/6.0.4": {
"runtime": {
"lib/netstandard2.1/NLog.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.4.4534"
}
}
},
"protobuf-net/3.2.56": {
"dependencies": {
"protobuf-net.Core": "3.2.56"
},
"runtime": {
"lib/net8.0/protobuf-net.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.2.56.57311"
}
}
},
"protobuf-net.Core/3.2.56": {
"runtime": {
"lib/net8.0/protobuf-net.Core.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.2.56.57311"
}
}
},
"System.Collections.Immutable/9.0.0": {
"runtime": {
"lib/net8.0/System.Collections.Immutable.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.ComponentModel.Annotations/5.0.0": {},
"System.Reflection.Metadata/9.0.0": {
"dependencies": {
"System.Collections.Immutable": "9.0.0"
},
"runtime": {
"lib/net8.0/System.Reflection.Metadata.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Security.Cryptography.Xml/8.0.2": {
"dependencies": {
"System.Security.Cryptography.Pkcs": "8.0.1"
},
"runtime": {
"lib/net8.0/System.Security.Cryptography.Xml.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Text.Encoding.CodePages/8.0.0": {}
}
},
"libraries": {
"NBConfigBuilder/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"EPPlus/8.2.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UFAjVAP4UyR9rPL/adHw1uezX1gDbt2mM7Bkb7cMmqbw51y0HFKyLoHpsjvNzKRL/u05vW4pHJAmkuvrPBcgSw==",
"path": "epplus/8.2.0",
"hashPath": "epplus.8.2.0.nupkg.sha512"
},
"EPPlus.Interfaces/8.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Nfc7ehsn8Sb8Ed8KYYuOxqt8gWqmy2Vhts5nfLMw3zISi+aZFwyW+k9s3FOpVuW91VDSrhVAId9brYtz9NnmKA==",
"path": "epplus.interfaces/8.1.0",
"hashPath": "epplus.interfaces.8.1.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.Analyzers/3.11.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-v/EW3UE8/lbEYHoC2Qq7AR/DnmvpgdtAMndfQNmpuIMx/Mto8L5JnuCfdBYtgvalQOtfNCnxFejxuRrryvUTsg==",
"path": "microsoft.codeanalysis.analyzers/3.11.0",
"hashPath": "microsoft.codeanalysis.analyzers.3.11.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.Common/4.14.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PC3tuwZYnC+idaPuoC/AZpEdwrtX7qFpmnrfQkgobGIWiYmGi5MCRtl5mx6QrfMGQpK78X2lfIEoZDLg/qnuHg==",
"path": "microsoft.codeanalysis.common/4.14.0",
"hashPath": "microsoft.codeanalysis.common.4.14.0.nupkg.sha512"
},
"Microsoft.CodeAnalysis.CSharp/4.14.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-568a6wcTivauIhbeWcCwfWwIn7UV7MeHEBvFB2uzGIpM2OhJ4eM/FZ8KS0yhPoNxnSpjGzz7x7CIjTxhslojQA==",
"path": "microsoft.codeanalysis.csharp/4.14.0",
"hashPath": "microsoft.codeanalysis.csharp.4.14.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
"path": "microsoft.extensions.configuration/8.0.0",
"hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
"path": "microsoft.extensions.configuration.abstractions/8.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.FileExtensions/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-EJzSNO9oaAXnTdtdNO6npPRsIIeZCBSNmdQ091VDO7fBiOtJAAeEq6dtrVXIi3ZyjC5XRSAtVvF8SzcneRHqKQ==",
"path": "microsoft.extensions.configuration.fileextensions/8.0.1",
"hashPath": "microsoft.extensions.configuration.fileextensions.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Json/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-L89DLNuimOghjV3tLx0ArFDwVEJD6+uGB3BMCMX01kaLzXkaXHb2021xOMl2QOxUxbdePKUZsUY7n2UUkycjRg==",
"path": "microsoft.extensions.configuration.json/8.0.1",
"hashPath": "microsoft.extensions.configuration.json.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
"path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
"hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
"path": "microsoft.extensions.fileproviders.physical/8.0.0",
"hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==",
"path": "microsoft.extensions.filesystemglobbing/8.0.0",
"hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
"path": "microsoft.extensions.primitives/8.0.0",
"hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
},
"Microsoft.IO.RecyclableMemoryStream/3.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==",
"path": "microsoft.io.recyclablememorystream/3.0.1",
"hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512"
},
"Newtonsoft.Json/13.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
"path": "newtonsoft.json/13.0.4",
"hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
},
"NLog/6.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==",
"path": "nlog/6.0.4",
"hashPath": "nlog.6.0.4.nupkg.sha512"
},
"protobuf-net/3.2.56": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4IPJeTYAMNewlN8MDaFkcmR/9hLhJeo9eARnTh104zh7mf+vXT2gu5MUfUnkSQU+CH578Q6vcdU7LQDQPG6eaw==",
"path": "protobuf-net/3.2.56",
"hashPath": "protobuf-net.3.2.56.nupkg.sha512"
},
"protobuf-net.Core/3.2.56": {
"type": "package",
"serviceable": true,
"sha512": "sha512-d6QOukTpDzs7zZv9tPnBZMtvHDNeHJQXUhMx54g4urUQsXK3oo9U70H9HvklYq7hlQ4A7AHJl7EVEqyCXXIl8Q==",
"path": "protobuf-net.core/3.2.56",
"hashPath": "protobuf-net.core.3.2.56.nupkg.sha512"
},
"System.Collections.Immutable/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w==",
"path": "system.collections.immutable/9.0.0",
"hashPath": "system.collections.immutable.9.0.0.nupkg.sha512"
},
"System.ComponentModel.Annotations/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==",
"path": "system.componentmodel.annotations/5.0.0",
"hashPath": "system.componentmodel.annotations.5.0.0.nupkg.sha512"
},
"System.Reflection.Metadata/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ANiqLu3DxW9kol/hMmTWbt3414t9ftdIuiIU7j80okq2YzAueo120M442xk1kDJWtmZTqWQn7wHDvMRipVOEOQ==",
"path": "system.reflection.metadata/9.0.0",
"hashPath": "system.reflection.metadata.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==",
"path": "system.security.cryptography.pkcs/8.0.1",
"hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512"
},
"System.Security.Cryptography.Xml/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-aDM/wm0ZGEZ6ZYJLzgqjp2FZdHbDHh6/OmpGfb7AdZ105zYmPn/83JRU2xLIbwgoNz9U1SLUTJN0v5th3qmvjA==",
"path": "system.security.cryptography.xml/8.0.2",
"hashPath": "system.security.cryptography.xml.8.0.2.nupkg.sha512"
},
"System.Text.Encoding.CodePages/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OZIsVplFGaVY90G2SbpgU7EnCoOO5pw1t4ic21dBF3/1omrJFpAGoNAVpPyMVOC90/hvgkGG3VFqR13YgZMQfg==",
"path": "system.text.encoding.codepages/8.0.0",
"hashPath": "system.text.encoding.codepages.8.0.0.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
}
}
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<!-- 文件目标 -->
<target xsi:type="File"
name="fileTarget"
fileName="logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message} ${exception:format=ToString}" />
<!-- 控制台目标 -->
<target xsi:type="Console"
name="consoleTarget"
layout="${longdate} ${uppercase:${level}} ${message} ${exception:format=ToString}" />
</targets>
<rules>
<!-- 记录所有级别高于 Debug 的日志到文件 -->
<logger name="*" minlevel="Debug" writeTo="fileTarget" />
<!-- 记录所有级别高于 Info 的日志到控制台 -->
<logger name="*" minlevel="Info" writeTo="consoleTarget" />
</rules>
</nlog>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,96 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
#if FANTASY_NET
using Fantasy.ConfigTable;
using Fantasy.Serialize;
#else
using NBC;
using NBC.Serialize;
#endif
// ReSharper disable CollectionNeverUpdated.Global
// ReSharper disable UnusedAutoPropertyAccessor.Global
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CS0169
#pragma warning disable CS8618
#pragma warning disable CS8625
#pragma warning disable CS8603
namespace (namespace)
{
[ProtoContract]
public sealed partial class (ConfigName)Data : ASerialize, IConfigTable, IProto
{
[ProtoMember(1)]
public List<(ConfigName)> List { get; set; } = new List<(ConfigName)>();
#if FANTASY_NET
[ProtoIgnore]
private readonly ConcurrentDictionary<uint, (ConfigName)> _configs = new ConcurrentDictionary<uint, (ConfigName)>();
#else
[ProtoIgnore]
private readonly Dictionary<uint, (ConfigName)> _configs = new Dictionary<uint, (ConfigName)>();
#endif
private static (ConfigName)Data _instance = null;
public static (ConfigName)Data Instance
{
get { return _instance ??= ConfigTableHelper.Load<(ConfigName)Data>(); }
private set => _instance = value;
}
public (ConfigName) Get(uint id, bool check = true)
{
if (_configs.ContainsKey(id))
{
return _configs[id];
}
if (check)
{
throw new Exception($"(ConfigName) not find {id} Id");
}
return null;
}
public bool TryGet(uint id, out (ConfigName) config)
{
config = null;
if (!_configs.ContainsKey(id))
{
return false;
}
config = _configs[id];
return true;
}
public override void AfterDeserialization()
{
foreach (var config in List)
{
#if FANTASY_NET
_configs.TryAdd(config.Id, config);
#else
_configs.Add(config.Id, config);
#endif
config.AfterDeserialization();
}
EndInit();
}
public override void Dispose()
{
Instance = null;
}
}
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto
{(Fields)
}
}

View File

@@ -0,0 +1,79 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
using NBC;
using NBC.Serialize;
namespace NBF
{
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto, IConfigTable
{
(Fields)
[ProtoIgnore]
public uint Key => Id;
#region Static
private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>();
public static (ConfigName) Get(uint key)
{
return Context.Get(key);
}
public static (ConfigName) Get(Predicate<(ConfigName)> match)
{
return Context.Get(match);
}
public static (ConfigName) Fist()
{
return Context.Fist();
}
public static (ConfigName) Last()
{
return Context.Last();
}
public static (ConfigName) Fist(Predicate<(ConfigName)> match)
{
return Context.Fist(match);
}
public static (ConfigName) Last(Predicate<(ConfigName)> match)
{
return Context.Last(match);
}
public static int Count()
{
return Context.Count();
}
public static int Count(Func<(ConfigName), bool> predicate)
{
return Context.Count(predicate);
}
public static List<(ConfigName)> GetList()
{
return Context.GetList();
}
public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match)
{
return Context.GetList(match);
}
public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
{
ConfigTableHelper.ParseLine<(ConfigName)>(arr);
}
#endregion
}
}

View File

@@ -0,0 +1,79 @@
using System;
using ProtoBuf;
using Fantasy;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.Collections.Concurrent;
using Fantasy.Serialize;
using Fantasy.ConfigTable;
namespace NBF
{
[ProtoContract]
public sealed partial class (ConfigName) : ASerialize, IProto, IConfigTable
{
(Fields)
[ProtoIgnore]
public uint Key => Id;
#region Static
private static ConfigContext<(ConfigName)> Context => ConfigTableHelper.Table<(ConfigName)>();
public static (ConfigName) Get(uint key)
{
return Context.Get(key);
}
public static (ConfigName) Get(Predicate<(ConfigName)> match)
{
return Context.Get(match);
}
public static (ConfigName) Fist()
{
return Context.Fist();
}
public static (ConfigName) Last()
{
return Context.Last();
}
public static (ConfigName) Fist(Predicate<(ConfigName)> match)
{
return Context.Fist(match);
}
public static (ConfigName) Last(Predicate<(ConfigName)> match)
{
return Context.Last(match);
}
public static int Count()
{
return Context.Count();
}
public static int Count(Func<(ConfigName), bool> predicate)
{
return Context.Count(predicate);
}
public static List<(ConfigName)> GetList()
{
return Context.GetList();
}
public static List<(ConfigName)> GetList(Predicate<(ConfigName)> match)
{
return Context.GetList(match);
}
public static void ParseJson(Newtonsoft.Json.Linq.JArray arr)
{
ConfigTableHelper.ParseLine<(ConfigName)>(arr);
}
#endregion
}
}

View File

@@ -0,0 +1,10 @@
{
"ExcelPath": "D:\\work\\Fishing2\\Config",
"ClientPath": "D:\\work\\Fishing2\\Assets\\Scripts\\Generate\\Config",
"ClientJsonPath": "D:\\work\\Fishing2\\Assets\\Resources\\config",
"ServerPath": "D:\\work\\Fishing2Server\\Entity\\Generate\\ConfigTable\\Entity",
"ServerJsonPath": "D:\\work\\Fishing2Server\\Config\\Json",
"GenClient": true,
"GenServer": true,
"ExcelVersionPath": "D:\\work\\Fishing2\\Config\\Version.txt"
}

Some files were not shown because too many files have changed in this diff Show More