mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-12-05 16:16:33 +00:00
将Desktop、Console、Plugin分离出去
This commit is contained in:
parent
800886062b
commit
e6effd25c5
4
.gitignore
vendored
4
.gitignore
vendored
@ -363,5 +363,5 @@ MigrationBackup/
|
|||||||
FodyWeavers.xsd
|
FodyWeavers.xsd
|
||||||
|
|
||||||
# FunGame Implement
|
# FunGame Implement
|
||||||
FunGame.Implement/*.cs
|
Implement/*.cs
|
||||||
FunGame.Implement/Implement/*.cs
|
Implement/Implement/*.cs
|
||||||
@ -1,30 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<Company>Milimoe</Company>
|
|
||||||
<Authors>Milimoe</Authors>
|
|
||||||
<Product>FunGame</Product>
|
|
||||||
<Title>FunGame.Console</Title>
|
|
||||||
<ApplicationIcon>logo.ico</ApplicationIcon>
|
|
||||||
<BaseOutputPath>..\bin\</BaseOutputPath>
|
|
||||||
<AssemblyName>FunGame</AssemblyName>
|
|
||||||
<RootNamespace>Milimoe.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<DebugType>embedded</DebugType>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
||||||
<DebugType>embedded</DebugType>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="logo.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Console.WriteLine("Hello, FunGame's Console!");
|
|
||||||
Console.ReadKey();
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB |
@ -1,6 +0,0 @@
|
|||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class InventoryController
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,46 +0,0 @@
|
|||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
|
||||||
using Milimoe.FunGame.Core.Library.Common.Architecture;
|
|
||||||
using Milimoe.FunGame.Desktop.Library;
|
|
||||||
using Milimoe.FunGame.Desktop.Model;
|
|
||||||
using Milimoe.FunGame.Core.Library.Exception;
|
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class LoginController : BaseController
|
|
||||||
{
|
|
||||||
private readonly LoginModel LoginModel;
|
|
||||||
|
|
||||||
public LoginController()
|
|
||||||
{
|
|
||||||
LoginModel = new LoginModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
LoginModel.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static async Task<bool> LoginAccount(params object[]? objs)
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
LoginEventArgs LoginEventArgs = new(objs);
|
|
||||||
if (RunTime.Login?.OnBeforeLoginEvent(LoginEventArgs) == Core.Library.Constant.EventResult.Fail) return false;
|
|
||||||
|
|
||||||
result = await LoginModel.LoginAccountAsync(objs);
|
|
||||||
|
|
||||||
if (result) RunTime.Login?.OnSucceedLoginEvent(LoginEventArgs);
|
|
||||||
else RunTime.Login?.OnFailedLoginEvent(LoginEventArgs);
|
|
||||||
RunTime.Login?.OnAfterLoginEvent(LoginEventArgs);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
RunTime.WritelnSystemInfo(e.GetErrorInfo());
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,107 +0,0 @@
|
|||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
|
||||||
using Milimoe.FunGame.Core.Library.Common.Architecture;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.Model;
|
|
||||||
using Milimoe.FunGame.Desktop.UI;
|
|
||||||
using Milimoe.FunGame.Desktop.Library;
|
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class MainController : BaseController
|
|
||||||
{
|
|
||||||
public bool Connected => Do<bool>(MainInvokeType.Connected);
|
|
||||||
|
|
||||||
private MainModel MainModel { get; }
|
|
||||||
private Main Main { get; }
|
|
||||||
|
|
||||||
public MainController(Main Main)
|
|
||||||
{
|
|
||||||
this.Main = Main;
|
|
||||||
MainModel = new MainModel(Main);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
MainModel.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 从内部去调用Model的方法,并记录日志。
|
|
||||||
*/
|
|
||||||
private T Do<T>(MainInvokeType DoType, params object[] args)
|
|
||||||
{
|
|
||||||
object result = new();
|
|
||||||
switch(DoType)
|
|
||||||
{
|
|
||||||
case MainInvokeType.LogOut:
|
|
||||||
if (Main.OnBeforeLogoutEvent(new GeneralEventArgs()) == EventResult.Fail) return (T)result;
|
|
||||||
result = MainModel.LogOut();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MainInvokeType.IntoRoom:
|
|
||||||
string roomid = new("-1");
|
|
||||||
if (args != null && args.Length > 0) roomid = (string)args[0];
|
|
||||||
if (Main.OnBeforeIntoRoomEvent(new RoomEventArgs(roomid)) == EventResult.Fail) return (T)result;
|
|
||||||
result = MainModel.IntoRoom(roomid);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MainInvokeType.UpdateRoom:
|
|
||||||
result = MainModel.UpdateRoom();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MainInvokeType.QuitRoom:
|
|
||||||
roomid = new("-1");
|
|
||||||
if (args != null && args.Length > 0) roomid = (string)args[0];
|
|
||||||
if (Main.OnBeforeQuitRoomEvent(new RoomEventArgs(roomid)) == EventResult.Fail) return (T)result;
|
|
||||||
result = MainModel.QuitRoom(roomid);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MainInvokeType.CreateRoom:
|
|
||||||
if (Main.OnBeforeCreateRoomEvent(new RoomEventArgs()) == EventResult.Fail) return (T)result;
|
|
||||||
result = MainModel.CreateRoom();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MainInvokeType.Chat:
|
|
||||||
string msg = "";
|
|
||||||
if (args != null && args.Length > 0) msg = (string)args[0];
|
|
||||||
if (Main.OnBeforeSendTalkEvent(new SendTalkEventArgs(msg)) == EventResult.Fail) return (T)result;
|
|
||||||
if (msg.Trim() != "") result = MainModel.Chat(msg);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return (T)result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool LogOut()
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.LogOut);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool UpdateRoom()
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.UpdateRoom);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IntoRoom(string roomid)
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.IntoRoom, roomid);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool QuitRoom(string roomid)
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.QuitRoom, roomid);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool CreateRoom()
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.CreateRoom);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Chat(string msg)
|
|
||||||
{
|
|
||||||
return Do<bool>(MainInvokeType.Chat, msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,51 +0,0 @@
|
|||||||
using Milimoe.FunGame.Desktop.Library.Component;
|
|
||||||
using Milimoe.FunGame.Desktop.Library;
|
|
||||||
using Milimoe.FunGame.Desktop.Model;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.UI;
|
|
||||||
using Milimoe.FunGame.Core.Library.Common.Architecture;
|
|
||||||
using Milimoe.FunGame.Core.Library.Exception;
|
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class RegisterController : BaseController
|
|
||||||
{
|
|
||||||
private readonly Register Register;
|
|
||||||
private readonly RegisterModel RegModel;
|
|
||||||
|
|
||||||
public RegisterController(Register reg)
|
|
||||||
{
|
|
||||||
Register = reg;
|
|
||||||
RegModel = new RegisterModel(reg);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
RegModel.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<bool> Reg(params object[]? objs)
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
RegisterEventArgs RegEventArgs = new (objs);
|
|
||||||
if (Register.OnBeforeRegEvent(RegEventArgs) == EventResult.Fail) return false;
|
|
||||||
|
|
||||||
result = await RegModel.Reg(objs);
|
|
||||||
|
|
||||||
if (result) Register.OnSucceedRegEvent(RegEventArgs);
|
|
||||||
else Register.OnFailedRegEvent(RegEventArgs);
|
|
||||||
Register.OnAfterRegEvent(RegEventArgs);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
RunTime.WritelnSystemInfo(e.GetErrorInfo());
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class RoomSettingController
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,119 +0,0 @@
|
|||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.Library;
|
|
||||||
using Milimoe.FunGame.Desktop.Model;
|
|
||||||
using Milimoe.FunGame.Desktop.UI;
|
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class RunTimeController
|
|
||||||
{
|
|
||||||
public bool Connected => Do<bool>(RunTimeInvokeType.Connected);
|
|
||||||
|
|
||||||
private RunTimeModel RunTimeModel { get; }
|
|
||||||
private Main Main { get; }
|
|
||||||
|
|
||||||
public RunTimeController(Main Main)
|
|
||||||
{
|
|
||||||
this.Main = Main;
|
|
||||||
RunTimeModel = new RunTimeModel(Main);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 从内部去调用Model的方法,并记录日志。
|
|
||||||
*/
|
|
||||||
private T Do<T>(RunTimeInvokeType DoType, params object[] args)
|
|
||||||
{
|
|
||||||
object result = new();
|
|
||||||
switch (DoType)
|
|
||||||
{
|
|
||||||
case RunTimeInvokeType.GetServerConnection:
|
|
||||||
result = RunTimeModel.GetServerConnection();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.Connect:
|
|
||||||
result = RunTimeModel.Connect();
|
|
||||||
if ((ConnectResult)result != ConnectResult.Success)
|
|
||||||
{
|
|
||||||
Main.OnFailedConnectEvent(new GeneralEventArgs());
|
|
||||||
Main.OnAfterConnectEvent(new GeneralEventArgs());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.Connected:
|
|
||||||
result = RunTimeModel.Connected;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.Disconnect:
|
|
||||||
if (Main.OnBeforeDisconnectEvent(new GeneralEventArgs()) == EventResult.Fail) return (T)result;
|
|
||||||
RunTimeModel.Disconnect();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.Disconnected:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.AutoLogin:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RunTimeInvokeType.Close:
|
|
||||||
if (args != null && args.Length > 0)
|
|
||||||
{
|
|
||||||
RunTimeModel.Error((Exception)args[0]);
|
|
||||||
result = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
result = RunTimeModel.Close();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return (T)result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool GetServerConnection()
|
|
||||||
{
|
|
||||||
return Do<bool>(RunTimeInvokeType.GetServerConnection);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ConnectResult Connect()
|
|
||||||
{
|
|
||||||
return Do<ConnectResult>(RunTimeInvokeType.Connect);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Disconnect()
|
|
||||||
{
|
|
||||||
Do<object>(RunTimeInvokeType.Disconnect);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Disconnected()
|
|
||||||
{
|
|
||||||
Do<object>(RunTimeInvokeType.Disconnected);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Close()
|
|
||||||
{
|
|
||||||
return Do<bool>(RunTimeInvokeType.Close);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Error(Exception e)
|
|
||||||
{
|
|
||||||
return Do<bool>(RunTimeInvokeType.Close, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task AutoLogin(params object[] objs)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Do<object>(RunTimeInvokeType.AutoLogin);
|
|
||||||
LoginController LoginController = new();
|
|
||||||
await LoginController.LoginAccount(objs);
|
|
||||||
LoginController.Dispose();
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
RunTime.WriteGameInfo(e.GetErrorInfo());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class StoreController
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
namespace Milimoe.FunGame.Desktop.Controller
|
|
||||||
{
|
|
||||||
public class UserCenterController
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>WinExe</OutputType>
|
|
||||||
<TargetFramework>net7.0-windows</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<UseWindowsForms>true</UseWindowsForms>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
<ApplicationIcon>Images\logo.ico</ApplicationIcon>
|
|
||||||
<Copyright></Copyright>
|
|
||||||
<PackageIcon>logo.ico</PackageIcon>
|
|
||||||
<Company>Milimoe</Company>
|
|
||||||
<BaseOutputPath>..\bin</BaseOutputPath>
|
|
||||||
<GenerateDocumentationFile>False</GenerateDocumentationFile>
|
|
||||||
<SignAssembly>False</SignAssembly>
|
|
||||||
<Authors>Milimoe</Authors>
|
|
||||||
<Product>FunGame</Product>
|
|
||||||
<Title>FunGame.Desktop</Title>
|
|
||||||
<PackageOutputPath>..\bin</PackageOutputPath>
|
|
||||||
<AssemblyVersion>1.0</AssemblyVersion>
|
|
||||||
<FileVersion>1.0</FileVersion>
|
|
||||||
<RootNamespace>Milimoe.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<DebugType>embedded</DebugType>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
||||||
<DebugType>embedded</DebugType>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Images\logo.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Update="Library\Component\MinButton.cs">
|
|
||||||
<SubType>Component</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Update="Properties\Resources.Designer.cs">
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Update="UI\Login\Login.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Update="Properties\Resources.resx">
|
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
|
||||||
</EmbeddedResource>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\FunGame.Core\FunGame.Core.csproj">
|
|
||||||
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\FunGame.Implement\FunGame.Implement.csproj">
|
|
||||||
<CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="Images\logo.ico">
|
|
||||||
<Pack>True</Pack>
|
|
||||||
<PackagePath>\</PackagePath>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 98 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user