diff --git a/.idea/.idea.FantasyNetTest/.idea/vcs.xml b/.idea/.idea.FantasyNetTest/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.FantasyNetTest/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/CodeChunks.db b/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/CodeChunks.db new file mode 100644 index 0000000..0b8d64c Binary files /dev/null and b/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/CodeChunks.db differ diff --git a/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/SemanticSymbols.db b/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/SemanticSymbols.db new file mode 100644 index 0000000..013a4e3 Binary files /dev/null and b/.vs/FantasyNetTest/CopilotIndices/17.14.698.11175/SemanticSymbols.db differ diff --git a/.vs/FantasyNetTest/DesignTimeBuild/.dtbcache.v2 b/.vs/FantasyNetTest/DesignTimeBuild/.dtbcache.v2 index bc2f8ef..fbc026d 100644 Binary files a/.vs/FantasyNetTest/DesignTimeBuild/.dtbcache.v2 and b/.vs/FantasyNetTest/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/FantasyNetTest/FileContentIndex/1b16a2e7-1bb2-4c3c-9d14-af55c9c33fc6.vsidx b/.vs/FantasyNetTest/FileContentIndex/1b16a2e7-1bb2-4c3c-9d14-af55c9c33fc6.vsidx deleted file mode 100644 index 492b03b..0000000 Binary files a/.vs/FantasyNetTest/FileContentIndex/1b16a2e7-1bb2-4c3c-9d14-af55c9c33fc6.vsidx and /dev/null differ diff --git a/.vs/FantasyNetTest/FileContentIndex/24bcbd59-aa99-42c3-b26d-ef3f8291ecfc.vsidx b/.vs/FantasyNetTest/FileContentIndex/24bcbd59-aa99-42c3-b26d-ef3f8291ecfc.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/FantasyNetTest/FileContentIndex/24bcbd59-aa99-42c3-b26d-ef3f8291ecfc.vsidx differ diff --git a/.vs/FantasyNetTest/FileContentIndex/3ff06618-4403-490d-bd84-593f04f43fe0.vsidx b/.vs/FantasyNetTest/FileContentIndex/3ff06618-4403-490d-bd84-593f04f43fe0.vsidx new file mode 100644 index 0000000..4c7ec2b Binary files /dev/null and b/.vs/FantasyNetTest/FileContentIndex/3ff06618-4403-490d-bd84-593f04f43fe0.vsidx differ diff --git a/.vs/FantasyNetTest/FileContentIndex/63aeb925-4ffa-4456-9651-416f182bf989.vsidx b/.vs/FantasyNetTest/FileContentIndex/63aeb925-4ffa-4456-9651-416f182bf989.vsidx deleted file mode 100644 index 6bee42f..0000000 Binary files a/.vs/FantasyNetTest/FileContentIndex/63aeb925-4ffa-4456-9651-416f182bf989.vsidx and /dev/null differ diff --git a/.vs/FantasyNetTest/FileContentIndex/64c8bdfc-9971-43cd-9e5b-02cd88a5d378.vsidx b/.vs/FantasyNetTest/FileContentIndex/64c8bdfc-9971-43cd-9e5b-02cd88a5d378.vsidx deleted file mode 100644 index 88f97c8..0000000 Binary files a/.vs/FantasyNetTest/FileContentIndex/64c8bdfc-9971-43cd-9e5b-02cd88a5d378.vsidx and /dev/null differ diff --git a/.vs/FantasyNetTest/FileContentIndex/803edca7-6048-4b38-896e-1c612aa4ddfb.vsidx b/.vs/FantasyNetTest/FileContentIndex/803edca7-6048-4b38-896e-1c612aa4ddfb.vsidx deleted file mode 100644 index f1339df..0000000 Binary files a/.vs/FantasyNetTest/FileContentIndex/803edca7-6048-4b38-896e-1c612aa4ddfb.vsidx and /dev/null differ diff --git a/.vs/FantasyNetTest/FileContentIndex/a276d935-05f6-4ffd-9ee0-d04eb5db88f8.vsidx b/.vs/FantasyNetTest/FileContentIndex/a276d935-05f6-4ffd-9ee0-d04eb5db88f8.vsidx deleted file mode 100644 index cc0838b..0000000 Binary files a/.vs/FantasyNetTest/FileContentIndex/a276d935-05f6-4ffd-9ee0-d04eb5db88f8.vsidx and /dev/null differ diff --git a/.vs/FantasyNetTest/FileContentIndex/df0a37d5-92db-4c05-8ec1-eae0e75b641f.vsidx b/.vs/FantasyNetTest/FileContentIndex/df0a37d5-92db-4c05-8ec1-eae0e75b641f.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/FantasyNetTest/FileContentIndex/df0a37d5-92db-4c05-8ec1-eae0e75b641f.vsidx differ diff --git a/.vs/FantasyNetTest/FileContentIndex/e4dce15c-5d8d-481b-9c3a-600d4e850a95.vsidx b/.vs/FantasyNetTest/FileContentIndex/e4dce15c-5d8d-481b-9c3a-600d4e850a95.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/FantasyNetTest/FileContentIndex/e4dce15c-5d8d-481b-9c3a-600d4e850a95.vsidx differ diff --git a/.vs/FantasyNetTest/FileContentIndex/f7a27f51-09ce-4e39-ada7-60716abdc2cc.vsidx b/.vs/FantasyNetTest/FileContentIndex/f7a27f51-09ce-4e39-ada7-60716abdc2cc.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/.vs/FantasyNetTest/FileContentIndex/f7a27f51-09ce-4e39-ada7-60716abdc2cc.vsidx differ diff --git a/.vs/FantasyNetTest/v17/.futdcache.v2 b/.vs/FantasyNetTest/v17/.futdcache.v2 index ad39b75..f30d371 100644 Binary files a/.vs/FantasyNetTest/v17/.futdcache.v2 and b/.vs/FantasyNetTest/v17/.futdcache.v2 differ diff --git a/.vs/FantasyNetTest/v17/.suo b/.vs/FantasyNetTest/v17/.suo index a6cc766..dffe5d1 100644 Binary files a/.vs/FantasyNetTest/v17/.suo and b/.vs/FantasyNetTest/v17/.suo differ diff --git a/.vs/FantasyNetTest/v17/DocumentLayout.backup.json b/.vs/FantasyNetTest/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..311843e --- /dev/null +++ b/.vs/FantasyNetTest/v17/DocumentLayout.backup.json @@ -0,0 +1,100 @@ +{ + "Version": 1, + "WorkspaceRootPath": "D:\\work\\FantasyNetTest\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:FantasyNetTest\\Form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\work\\FantasyNetTest\\fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\work\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:FantasyNetTest\\TestProtocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\work\\FantasyNetTest\\FantasyNetTest\\Config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:FantasyNetTest\\Config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, + { + "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\work\\FantasyNetTest\\FantasyNetTest\\Log.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:FantasyNetTest\\Log.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Form1.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "RelativeDocumentMoniker": "FantasyNetTest\\Form1.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "RelativeToolTip": "FantasyNetTest\\Form1.cs", + "ViewState": "AgIAACQAAAAAAAAAAAAgwHECAAAEAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-10T14:06:30.336Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Form1.cs [\u8BBE\u8BA1]", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "RelativeDocumentMoniker": "FantasyNetTest\\Form1.cs", + "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs [\u8BBE\u8BA1]", + "RelativeToolTip": "..\\..\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs [\u8BBE\u8BA1]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-10T11:09:51.154Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "TestProtocol.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", + "RelativeDocumentMoniker": "FantasyNetTest\\TestProtocol.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", + "RelativeToolTip": "FantasyNetTest\\TestProtocol.cs", + "ViewState": "AQIAAAYAAAAAAAAAAADwvxcAAAAlAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-10T09:28:41.991Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "Config.json", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Config.json", + "RelativeDocumentMoniker": "FantasyNetTest\\Config.json", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Config.json", + "RelativeToolTip": "FantasyNetTest\\Config.json", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAMAAAABAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", + "WhenOpened": "2025-08-10T07:28:50.344Z" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Log.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Log.cs", + "RelativeDocumentMoniker": "FantasyNetTest\\Log.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Log.cs", + "RelativeToolTip": "FantasyNetTest\\Log.cs", + "ViewState": "AQIAAEsAAAAAAAAAAAAYwB8AAAApAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-10T06:36:37.693Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/FantasyNetTest/v17/DocumentLayout.json b/.vs/FantasyNetTest/v17/DocumentLayout.json index 571a75a..ddb9cb5 100644 --- a/.vs/FantasyNetTest/v17/DocumentLayout.json +++ b/.vs/FantasyNetTest/v17/DocumentLayout.json @@ -1,25 +1,29 @@ { "Version": 1, - "WorkspaceRootPath": "D:\\myself\\Games\\FantasyNetTest\\", + "WorkspaceRootPath": "D:\\work\\FantasyNetTest\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\myself\\games\\fantasynettest\\fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\work\\fantasynettest\\fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|D:\\myself\\Games\\FantasyNetTest\\fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|D:\\work\\FantasyNetTest\\fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" }, { - "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\myself\\games\\fantasynettest\\fantasynettest\\testprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\work\\fantasynettest\\fantasynettest\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\work\\fantasynettest\\fantasynettest\\testprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\testprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\myself\\games\\fantasynettest\\fantasynettest\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\work\\fantasynettest\\fantasynettest\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" }, { - "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\myself\\games\\fantasynettest\\fantasynettest\\log.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|d:\\work\\fantasynettest\\fantasynettest\\log.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{812F24C9-1386-4A5F-AC1D-1840E28FA05D}|FantasyNetTest\\FantasyNetTest.csproj|solutionrelative:fantasynettest\\log.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], @@ -30,17 +34,30 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 0, + "SelectedChildIndex": 1, "Children": [ + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Form1.Designer.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.Designer.cs", + "RelativeDocumentMoniker": "FantasyNetTest\\Form1.Designer.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.Designer.cs", + "RelativeToolTip": "FantasyNetTest\\Form1.Designer.cs", + "ViewState": "AgIAAIwAAAAAAAAAAAAiwLoAAAASAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-11T09:04:01.709Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 0, "Title": "Form1.cs", - "DocumentMoniker": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", "RelativeDocumentMoniker": "FantasyNetTest\\Form1.cs", - "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", "RelativeToolTip": "FantasyNetTest\\Form1.cs", - "ViewState": "AQIAAGcCAAAAAAAAAAAiwHUCAAAAAAAA", + "ViewState": "AgIAADkAAAAAAAAAAAAgwPcCAAARAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-08-10T14:06:30.336Z", "EditorCaption": "" @@ -49,9 +66,9 @@ "$type": "Document", "DocumentIndex": 1, "Title": "Form1.cs [\u8BBE\u8BA1]", - "DocumentMoniker": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs", "RelativeDocumentMoniker": "FantasyNetTest\\Form1.cs", - "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Form1.cs [\u8BBE\u8BA1]", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Form1.cs [\u8BBE\u8BA1]", "RelativeToolTip": "FantasyNetTest\\Form1.cs [\u8BBE\u8BA1]", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-08-10T11:09:51.154Z", @@ -59,23 +76,24 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 3, "Title": "TestProtocol.cs", - "DocumentMoniker": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", "RelativeDocumentMoniker": "FantasyNetTest\\TestProtocol.cs", - "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\TestProtocol.cs", "RelativeToolTip": "FantasyNetTest\\TestProtocol.cs", - "ViewState": "AQIAAAYAAAAAAAAAAADwvxcAAAAlAAAA", + "ViewState": "AgIAAAYAAAAAAAAAAADwvxcAAAAlAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-10T09:28:41.991Z" + "WhenOpened": "2025-08-10T09:28:41.991Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 4, "Title": "Config.json", - "DocumentMoniker": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Config.json", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Config.json", "RelativeDocumentMoniker": "FantasyNetTest\\Config.json", - "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Config.json", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Config.json", "RelativeToolTip": "FantasyNetTest\\Config.json", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAMAAAABAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", @@ -83,11 +101,11 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 5, "Title": "Log.cs", - "DocumentMoniker": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Log.cs", + "DocumentMoniker": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Log.cs", "RelativeDocumentMoniker": "FantasyNetTest\\Log.cs", - "ToolTip": "D:\\myself\\Games\\FantasyNetTest\\FantasyNetTest\\Log.cs", + "ToolTip": "D:\\work\\FantasyNetTest\\FantasyNetTest\\Log.cs", "RelativeToolTip": "FantasyNetTest\\Log.cs", "ViewState": "AQIAAEsAAAAAAAAAAAAYwB8AAAApAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", diff --git a/.vs/ProjectEvaluation/fantasynettest.metadata.v7.bin b/.vs/ProjectEvaluation/fantasynettest.metadata.v7.bin deleted file mode 100644 index 320df57..0000000 Binary files a/.vs/ProjectEvaluation/fantasynettest.metadata.v7.bin and /dev/null differ diff --git a/.vs/ProjectEvaluation/fantasynettest.metadata.v9.bin b/.vs/ProjectEvaluation/fantasynettest.metadata.v9.bin new file mode 100644 index 0000000..6874a73 Binary files /dev/null and b/.vs/ProjectEvaluation/fantasynettest.metadata.v9.bin differ diff --git a/.vs/ProjectEvaluation/fantasynettest.projects.v7.bin b/.vs/ProjectEvaluation/fantasynettest.projects.v7.bin deleted file mode 100644 index a5ded59..0000000 Binary files a/.vs/ProjectEvaluation/fantasynettest.projects.v7.bin and /dev/null differ diff --git a/.vs/ProjectEvaluation/fantasynettest.projects.v9.bin b/.vs/ProjectEvaluation/fantasynettest.projects.v9.bin new file mode 100644 index 0000000..0e66dce Binary files /dev/null and b/.vs/ProjectEvaluation/fantasynettest.projects.v9.bin differ diff --git a/.vs/ProjectEvaluation/fantasynettest.strings.v9.bin b/.vs/ProjectEvaluation/fantasynettest.strings.v9.bin new file mode 100644 index 0000000..be8fb96 Binary files /dev/null and b/.vs/ProjectEvaluation/fantasynettest.strings.v9.bin differ diff --git a/FantasyNetTest.sln.DotSettings.user b/FantasyNetTest.sln.DotSettings.user index a434953..059cde6 100644 --- a/FantasyNetTest.sln.DotSettings.user +++ b/FantasyNetTest.sln.DotSettings.user @@ -1,8 +1,11 @@  + ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded ForceIncluded True diff --git a/FantasyNetTest/Config.cs b/FantasyNetTest/Config.cs index ff025b3..ff99784 100644 --- a/FantasyNetTest/Config.cs +++ b/FantasyNetTest/Config.cs @@ -13,13 +13,13 @@ public class Config /// public int Heartbeat { get; set; } = 5; - /// - /// 默认账号 - /// - public string Account { get; set; } = ""; - /// /// 协议目录 /// public string ProtocolScriptPath { get; set; } = ""; + + /// + /// 缓存账号列表 + /// + public HashSet Accounts { get; set; } = []; } \ No newline at end of file diff --git a/FantasyNetTest/Config.json b/FantasyNetTest/Config.json index c47c2dd..9dde6ee 100644 --- a/FantasyNetTest/Config.json +++ b/FantasyNetTest/Config.json @@ -1,6 +1,5 @@ { "Server": "127.0.0.1:20001", "Heartbeat": 5, - "ProtocolScriptPath": "D:\\myself\\Games\\Fishing2\\Assets\\Scripts\\Generate", - "Account": "test003" + "ProtocolScriptPath": "D:\\work\\Fishing2\\Assets\\Scripts\\Generate" } \ No newline at end of file diff --git a/FantasyNetTest/Form1.Designer.cs b/FantasyNetTest/Form1.Designer.cs index b99b35d..ab9aeb2 100644 --- a/FantasyNetTest/Form1.Designer.cs +++ b/FantasyNetTest/Form1.Designer.cs @@ -35,7 +35,7 @@ partial class Form1 logTextBox = new RichTextBox(); groupBox1 = new GroupBox(); buttonConnect = new Button(); - textBoxAccount = new TextBox(); + comboBoxAccount = new ComboBox(); groupBox2 = new GroupBox(); panel1 = new Panel(); buttonSend = new Button(); @@ -43,6 +43,7 @@ partial class Form1 groupBox3 = new GroupBox(); comboBoxProtocol = new ComboBox(); timer2 = new System.Windows.Forms.Timer(components); + linkLabel2 = new LinkLabel(); groupBox4.SuspendLayout(); groupBox1.SuspendLayout(); groupBox2.SuspendLayout(); @@ -87,7 +88,7 @@ partial class Form1 // groupBox1 // groupBox1.Controls.Add(buttonConnect); - groupBox1.Controls.Add(textBoxAccount); + groupBox1.Controls.Add(comboBoxAccount); groupBox1.Location = new Point(7, 7); groupBox1.Name = "groupBox1"; groupBox1.Size = new Size(316, 62); @@ -97,20 +98,21 @@ partial class Form1 // // buttonConnect // - buttonConnect.Location = new Point(235, 23); + buttonConnect.Location = new Point(235, 22); buttonConnect.Name = "buttonConnect"; - buttonConnect.Size = new Size(75, 23); + buttonConnect.Size = new Size(75, 26); buttonConnect.TabIndex = 2; buttonConnect.Text = "登录"; buttonConnect.UseVisualStyleBackColor = true; buttonConnect.Click += buttonConnect_Click; // - // textBoxAccount + // comboBoxAccount // - textBoxAccount.Location = new Point(10, 23); - textBoxAccount.Name = "textBoxAccount"; - textBoxAccount.Size = new Size(219, 23); - textBoxAccount.TabIndex = 0; + comboBoxAccount.FormattingEnabled = true; + comboBoxAccount.Location = new Point(10, 23); + comboBoxAccount.Name = "comboBoxAccount"; + comboBoxAccount.Size = new Size(219, 25); + comboBoxAccount.TabIndex = 0; // // groupBox2 // @@ -150,6 +152,7 @@ partial class Form1 // groupBox3 // groupBox3.Controls.Add(comboBoxProtocol); + groupBox3.Controls.Add(linkLabel2); groupBox3.Location = new Point(7, 75); groupBox3.Name = "groupBox3"; groupBox3.Size = new Size(316, 64); @@ -171,6 +174,19 @@ partial class Form1 timer2.Interval = 16; timer2.Tick += timer2_Tick; // + // linkLabel2 + // + linkLabel2.AutoSize = true; + linkLabel2.LinkBehavior = LinkBehavior.NeverUnderline; + linkLabel2.LinkColor = Color.Black; + linkLabel2.Location = new Point(295, 13); + linkLabel2.Name = "linkLabel2"; + linkLabel2.Size = new Size(16, 17); + linkLabel2.TabIndex = 3; + linkLabel2.TabStop = true; + linkLabel2.Text = "R"; + linkLabel2.LinkClicked += linkLabel2_LinkClicked; + // // Form1 // AutoScaleDimensions = new SizeF(7F, 17F); @@ -186,9 +202,9 @@ partial class Form1 groupBox4.ResumeLayout(false); groupBox4.PerformLayout(); groupBox1.ResumeLayout(false); - groupBox1.PerformLayout(); groupBox2.ResumeLayout(false); groupBox3.ResumeLayout(false); + groupBox3.PerformLayout(); ResumeLayout(false); } @@ -198,13 +214,15 @@ partial class Form1 private GroupBox groupBox2; private GroupBox groupBox4; private RichTextBox logTextBox; - private TextBox textBoxAccount; + // private TextBox textBoxAccount; private Button buttonConnect; private Button buttonSend; private System.Windows.Forms.Timer timer1; private LinkLabel linkLabel1; private GroupBox groupBox3; private ComboBox comboBoxProtocol; + private ComboBox comboBoxAccount; private Panel panel1; private System.Windows.Forms.Timer timer2; + private LinkLabel linkLabel2; } \ No newline at end of file diff --git a/FantasyNetTest/Form1.cs b/FantasyNetTest/Form1.cs index 57d0849..726dcdb 100644 --- a/FantasyNetTest/Form1.cs +++ b/FantasyNetTest/Form1.cs @@ -25,7 +25,7 @@ public partial class Form1 : Form private Scene _scene; - private string PathRoot; + private string _nowAccount; public Form1() { @@ -38,7 +38,11 @@ public partial class Form1 : Form comboBoxProtocol.DropDownStyle = ComboBoxStyle.DropDownList; _config ??= new Config(); LoadConfig(); - textBoxAccount.Text = _config.Account; + + if (_config.Accounts.Count > 0) + { + comboBoxAccount.Text = _config.Accounts.First(); + } _scriptLoader = new ScriptLoader(); @@ -128,7 +132,6 @@ public partial class Form1 : Form #endregion - #region 登录 private Session? _session; @@ -293,7 +296,6 @@ public partial class Form1 : Form #endregion - #region Config private void LoadConfig() @@ -305,7 +307,6 @@ public partial class Form1 : Form var cfg = JsonSerializer.Deserialize(jsonContent); if (cfg != null) { - _config.Account = cfg.Account; _config.Server = cfg.Server; _config.Heartbeat = cfg.Heartbeat; _config.ProtocolScriptPath = cfg.ProtocolScriptPath; @@ -315,7 +316,8 @@ public partial class Form1 : Form private void SaveConfig() { - _config.Account = textBoxAccount.Text; + var account = comboBoxAccount.Text; + _config.Accounts.Add(account); var configPath = Path.Combine(Application.StartupPath, "Config.json"); var json = JsonSerializer.Serialize(_config); File.WriteAllText(configPath, json); @@ -354,7 +356,6 @@ public partial class Form1 : Form var index = comboBox.SelectedIndex; var proto = comboBox.SelectedItem?.ToString(); - Log.Info($"选中协议:{proto} Index={index}"); SelectedProtocol(_allRequest[index]); } @@ -381,7 +382,6 @@ public partial class Form1 : Form // 清除现有控件 containerPanel.Controls.Clear(); - // 创建TableLayoutPanel var tablePanel = new TableLayoutPanel { @@ -421,7 +421,6 @@ public partial class Form1 : Form // 设置固定的行高 int rowHeight = 30; // 每行固定高度 - // 添加属性和值输入框 for (int i = 0; i < properties.Length; i++) { @@ -626,7 +625,9 @@ public partial class Form1 : Form #region 协议内存缓存和加载 - private string ProtocolPathPath = Path.Combine(Application.StartupPath, "Protocol"); + private string ProtocolPathPath => string.IsNullOrEmpty(_nowAccount) + ? Path.Combine(Application.StartupPath, "Protocol") + : Path.Combine(Application.StartupPath, _nowAccount, "Protocol"); private void CacheProtocol(object obj) { @@ -710,16 +711,17 @@ public partial class Form1 : Form private void buttonConnect_Click(object sender, EventArgs e) { + _nowAccount = comboBoxAccount.Text; if (_session == null) { - if (string.IsNullOrEmpty(textBoxAccount.Text)) + if (string.IsNullOrEmpty(comboBoxAccount.Text)) { Log.Error("未输入账号"); return; } //登录 - OnLoginButtonClick(textBoxAccount.Text).Coroutine(); + OnLoginButtonClick(comboBoxAccount.Text).Coroutine(); SwitchLoginButtonState(); } else @@ -753,5 +755,10 @@ public partial class Form1 : Form } } + private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Log.Info("重新加载协议"); + } + #endregion } \ No newline at end of file diff --git a/FantasyNetTest/Form1.resx b/FantasyNetTest/Form1.resx index ef1a3ec..ccdd4a3 100644 --- a/FantasyNetTest/Form1.resx +++ b/FantasyNetTest/Form1.resx @@ -1,7 +1,7 @@