mirror of
https://github.com/project-redbud/FunGame-Core.git
synced 2025-04-21 19:49:34 +08:00
统一命名 并禁止GameModuleServer调用DataRequest (#81)
* 统一命名 并禁止GameModuleServer调用DataRequest * 添加了GameModuleDepend (依赖集合) 用于整合Maps Characters Items Skills
This commit is contained in:
parent
e944b0232c
commit
c51b7c50fa
@ -13,9 +13,9 @@ namespace Milimoe.FunGame.Core.Api.Factory
|
||||
return RoomFactory.Create();
|
||||
}
|
||||
|
||||
public static Room Create(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameMode = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
public static Room Create(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameModule = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
{
|
||||
return new Room(Id, Roomid, CreateTime, RoomMaster, RoomType, GameMode, GameMap, RoomState, IsRank, Password);
|
||||
return new Room(Id, Roomid, CreateTime, RoomMaster, RoomType, GameModule, GameMap, RoomState, IsRank, Password);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ namespace Milimoe.FunGame.Core.Api.Transmittal
|
||||
{
|
||||
Worker = new(Socket, RequestType, Guid.NewGuid(), IsLongRunning);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加数据
|
||||
/// </summary>
|
||||
|
@ -69,15 +69,15 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// <param name="CreateTime">创建时间</param>
|
||||
/// <param name="RoomMaster">房主</param>
|
||||
/// <param name="RoomType">房间类型</param>
|
||||
/// <param name="GameMode">游戏模组</param>
|
||||
/// <param name="GameModule">游戏模组</param>
|
||||
/// <param name="GameMap"></param>
|
||||
/// <param name="RoomState">房间状态</param>
|
||||
/// <param name="IsRank"></param>
|
||||
/// <param name="Password">房间密码</param>
|
||||
/// <returns></returns>
|
||||
public static Room GetRoom(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameMode = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
public static Room GetRoom(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameModule = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
{
|
||||
return RoomFactory.Create(Id, Roomid, CreateTime, RoomMaster, RoomType, GameMode, GameMap, RoomState, IsRank, Password);
|
||||
return RoomFactory.Create(Id, Roomid, CreateTime, RoomMaster, RoomType, GameModule, GameMap, RoomState, IsRank, Password);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -96,12 +96,12 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
DateTime CreateTime = (DateTime)DrRoom[RoomQuery.Column_CreateTime];
|
||||
User RoomMaster = User;
|
||||
RoomType RoomType = (RoomType)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomType]);
|
||||
string GameMode = (string)DrRoom[RoomQuery.Column_GameMode];
|
||||
string GameModule = (string)DrRoom[RoomQuery.Column_GameModule];
|
||||
string GameMap = (string)DrRoom[RoomQuery.Column_GameMap];
|
||||
RoomState RoomState = (RoomState)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomState]);
|
||||
bool IsRank = Convert.ToInt32(DrRoom[RoomQuery.Column_IsRank]) == 1;
|
||||
string Password = (string)DrRoom[RoomQuery.Column_Password];
|
||||
room = GetRoom(Id, Roomid, CreateTime, RoomMaster, RoomType, GameMode, GameMap, RoomState, IsRank, Password);
|
||||
room = GetRoom(Id, Roomid, CreateTime, RoomMaster, RoomType, GameModule, GameMap, RoomState, IsRank, Password);
|
||||
}
|
||||
return room;
|
||||
}
|
||||
@ -135,12 +135,12 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
}
|
||||
}
|
||||
RoomType RoomType = (RoomType)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomType]);
|
||||
string GameMode = (string)DrRoom[RoomQuery.Column_GameMode];
|
||||
string GameModule = (string)DrRoom[RoomQuery.Column_GameModule];
|
||||
string GameMap = (string)DrRoom[RoomQuery.Column_GameMap];
|
||||
RoomState RoomState = (RoomState)Convert.ToInt32(DrRoom[RoomQuery.Column_RoomState]);
|
||||
bool IsRank = Convert.ToInt32(DrRoom[RoomQuery.Column_IsRank]) == 1;
|
||||
string Password = (string)DrRoom[RoomQuery.Column_Password];
|
||||
list.Add(GetRoom(Id, Roomid, CreateTime, RoomMaster, RoomType, GameMode, GameMap, RoomState, IsRank, Password));
|
||||
list.Add(GetRoom(Id, Roomid, CreateTime, RoomMaster, RoomType, GameModule, GameMap, RoomState, IsRank, Password));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
|
@ -6,17 +6,17 @@ using Milimoe.FunGame.Core.Service;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Api.Utility
|
||||
{
|
||||
public class GameModeLoader
|
||||
public class GameModuleLoader
|
||||
{
|
||||
/// <summary>
|
||||
/// 适用于客户端的模组集
|
||||
/// </summary>
|
||||
public Dictionary<string, GameMode> Modes { get; } = [];
|
||||
public Dictionary<string, GameModule> Modes { get; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// 适用于服务器的模组集
|
||||
/// </summary>
|
||||
public Dictionary<string, GameModeServer> ServerModes { get; } = [];
|
||||
public Dictionary<string, GameModuleServer> ServerModes { get; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// 游戏地图集
|
||||
@ -38,7 +38,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// </summary>
|
||||
public List<Item> Items { get; } = [];
|
||||
|
||||
private GameModeLoader()
|
||||
private GameModuleLoader()
|
||||
{
|
||||
|
||||
}
|
||||
@ -50,20 +50,20 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// <seealso cref="Maps"/> 都会读取
|
||||
/// </summary>
|
||||
/// <param name="runtime">传入 <see cref="FunGameInfo.FunGame"/> 类型来创建指定端的模组读取器</param>
|
||||
/// <param name="delegates">用于构建 <see cref="Controller.AddonController"/></param>
|
||||
/// <param name="delegates">用于构建 <see cref="Controller.AddonController{T}"/></param>
|
||||
/// <param name="otherobjs">其他需要传入给插件初始化的对象</param>
|
||||
/// <returns></returns>
|
||||
public static GameModeLoader LoadGameModes(FunGameInfo.FunGame runtime, Hashtable delegates, params object[] otherobjs)
|
||||
public static GameModuleLoader LoadGameModules(FunGameInfo.FunGame runtime, Hashtable delegates, params object[] otherobjs)
|
||||
{
|
||||
GameModeLoader loader = new();
|
||||
GameModuleLoader loader = new();
|
||||
if (runtime == FunGameInfo.FunGame.FunGame_Desktop)
|
||||
{
|
||||
AddonManager.LoadGameModes(loader.Modes, loader.Characters, loader.Skills, loader.Items, delegates, otherobjs);
|
||||
AddonManager.LoadGameModules(loader.Modes, loader.Characters, loader.Skills, loader.Items, delegates, otherobjs);
|
||||
AddonManager.LoadGameMaps(loader.Maps, otherobjs);
|
||||
}
|
||||
else if (runtime == FunGameInfo.FunGame.FunGame_Server)
|
||||
{
|
||||
AddonManager.LoadGameModesForServer(loader.ServerModes, loader.Characters, loader.Skills, loader.Items, delegates, otherobjs);
|
||||
AddonManager.LoadGameModulesForServer(loader.ServerModes, loader.Characters, loader.Skills, loader.Items, delegates, otherobjs);
|
||||
AddonManager.LoadGameMaps(loader.Maps, otherobjs);
|
||||
}
|
||||
return loader;
|
||||
@ -75,7 +75,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public GameMode this[string name]
|
||||
public GameModule this[string name]
|
||||
{
|
||||
get
|
||||
{
|
||||
@ -92,7 +92,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public GameModeServer GetServerMode(string name)
|
||||
public GameModuleServer GetServerMode(string name)
|
||||
{
|
||||
return ServerModes[name];
|
||||
}
|
@ -59,7 +59,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
InterfaceMethod.RemoteServerIP => InterfaceSet.Method.RemoteServerIP,
|
||||
InterfaceMethod.DBConnection => InterfaceSet.Method.DBConnection,
|
||||
InterfaceMethod.GetServerSettings => InterfaceSet.Method.GetServerSettings,
|
||||
InterfaceMethod.GameModeList => InterfaceSet.Method.GameModeList,
|
||||
InterfaceMethod.GameModuleList => InterfaceSet.Method.GameModuleList,
|
||||
InterfaceMethod.GameMapList => InterfaceSet.Method.GameMapList,
|
||||
_ => ""
|
||||
};
|
||||
|
@ -21,7 +21,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
|
||||
/// <summary>
|
||||
/// 构建一个插件读取器并读取插件
|
||||
/// </summary>
|
||||
/// <param name="delegates">用于构建 <see cref="Controller.AddonController"/></param>
|
||||
/// <param name="delegates">用于构建 <see cref="Controller.AddonController{T}"/></param>
|
||||
/// <param name="otherobjs">其他需要传入给插件初始化的对象</param>
|
||||
/// <returns></returns>
|
||||
public static PluginLoader LoadPlugins(Hashtable delegates, params object[] otherobjs)
|
||||
|
@ -5,20 +5,12 @@ using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Controller
|
||||
{
|
||||
public class AddonController
|
||||
/// <summary>
|
||||
/// 这个控制器在Base的基础上添加了DataRequest
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public class AddonController<T> : BaseAddonController<T> where T : IAddon
|
||||
{
|
||||
private IAddon Addon { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出系统消息
|
||||
/// </summary>
|
||||
private Action<string> MaskMethod_WriteLine { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出错误消息
|
||||
/// </summary>
|
||||
private Action<Exception> MaskMethod_Error { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 基于本地已连接的Socket创建新的数据请求
|
||||
/// </summary>
|
||||
@ -29,62 +21,49 @@ namespace Milimoe.FunGame.Core.Controller
|
||||
/// </summary>
|
||||
private Func<DataRequestType, DataRequest> MaskMethod_NewLongRunningDataRequest { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出系统消息
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
/// <returns></returns>
|
||||
public void WriteLine(string msg) => MaskMethod_WriteLine(msg);
|
||||
|
||||
/// <summary>
|
||||
/// 输出错误消息
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
public void Error(Exception e) => MaskMethod_Error(e);
|
||||
|
||||
/// <summary>
|
||||
/// 基于本地已连接的Socket创建新的数据请求
|
||||
/// <para>请勿在 <see cref="Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
public DataRequest NewDataRequest(DataRequestType type) => MaskMethod_NewDataRequest(type);
|
||||
/// <exception cref="ModuleServerNewDataRequestException"></exception>
|
||||
public DataRequest NewDataRequest(DataRequestType type)
|
||||
{
|
||||
if (typeof(T).IsAssignableFrom(typeof(IGameModuleServer)))
|
||||
{
|
||||
throw new ModuleServerNewDataRequestException();
|
||||
}
|
||||
return MaskMethod_NewDataRequest(type);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 基于本地已连接的Socket创建长时间运行的数据请求
|
||||
/// <para>请勿在 <see cref="Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
public DataRequest NewLongRunningDataRequest(DataRequestType type) => MaskMethod_NewLongRunningDataRequest(type);
|
||||
/// <exception cref="ModuleServerNewDataRequestException"></exception>
|
||||
public DataRequest NewLongRunningDataRequest(DataRequestType type)
|
||||
{
|
||||
if (typeof(T).IsAssignableFrom(typeof(IGameModuleServer)))
|
||||
{
|
||||
throw new ModuleServerNewDataRequestException();
|
||||
}
|
||||
return MaskMethod_NewLongRunningDataRequest(type);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新建一个AddonController
|
||||
/// </summary>
|
||||
/// <param name="Addon"></param>
|
||||
/// <param name="addon"></param>
|
||||
/// <param name="delegates"></param>
|
||||
public AddonController(IAddon Addon, Hashtable delegates)
|
||||
public AddonController(IAddon addon, Hashtable delegates) : base(addon, delegates)
|
||||
{
|
||||
this.Addon = Addon;
|
||||
if (delegates.ContainsKey("WriteLine")) MaskMethod_WriteLine = delegates["WriteLine"] != null ? (Action<string>)delegates["WriteLine"]! : new(DefaultPrint);
|
||||
if (delegates.ContainsKey("Error")) MaskMethod_Error = delegates["Error"] != null ? (Action<Exception>)delegates["Error"]! : new(DefaultPrint);
|
||||
if (delegates.ContainsKey("NewDataRequest")) MaskMethod_NewDataRequest = delegates["NewDataRequest"] != null ? (Func<DataRequestType, DataRequest>)delegates["NewDataRequest"]! : new(DefaultNewDataRequest);
|
||||
if (delegates.ContainsKey("NewLongRunningDataRequest")) MaskMethod_NewLongRunningDataRequest = delegates["NewLongRunningDataRequest"] != null ? (Func<DataRequestType, DataRequest>)delegates["NewLongRunningDataRequest"]! : new(DefaultNewDataRequest);
|
||||
MaskMethod_WriteLine ??= new(DefaultPrint);
|
||||
MaskMethod_Error ??= new(DefaultPrint);
|
||||
MaskMethod_NewDataRequest ??= new(DefaultNewDataRequest);
|
||||
MaskMethod_NewLongRunningDataRequest ??= new(DefaultNewDataRequest);
|
||||
}
|
||||
|
||||
private void DefaultPrint(string msg) => Console.Write("\r" + msg + "\n\r> ");
|
||||
|
||||
private void DefaultPrint(Exception e) => DefaultPrint(e.ToString());
|
||||
|
||||
private DataRequest DefaultNewDataRequest(DataRequestType type)
|
||||
{
|
||||
if (Addon is IGameModeServer) throw new NotSupportedException("请勿在GameModeServer类中调用此方法");
|
||||
else throw new ConnectFailedException();
|
||||
}
|
||||
private DataRequest DefaultNewDataRequest(DataRequestType type) => throw new ConnectFailedException();
|
||||
}
|
||||
}
|
||||
|
70
Controller/BaseAddonController.cs
Normal file
70
Controller/BaseAddonController.cs
Normal file
@ -0,0 +1,70 @@
|
||||
using System.Collections;
|
||||
using Milimoe.FunGame.Core.Interface.Addons;
|
||||
using Milimoe.FunGame.Core.Library.Common.Addon;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// 这是通用的控制器,仅提供基本功能
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Addon的类型,如<see cref="GameModule"/>或者<see cref="Plugin"/></typeparam>
|
||||
public class BaseAddonController<T> where T : IAddon
|
||||
{
|
||||
/// <summary>
|
||||
/// 控制器的本体
|
||||
/// </summary>
|
||||
public T Addon { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出系统消息
|
||||
/// </summary>
|
||||
protected Action<string> MaskMethod_WriteLine { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出错误消息
|
||||
/// </summary>
|
||||
protected Action<Exception> MaskMethod_Error { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输出系统消息
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
/// <returns></returns>
|
||||
public void WriteLine(string msg) => MaskMethod_WriteLine(msg);
|
||||
|
||||
/// <summary>
|
||||
/// 输出错误消息
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
public void Error(Exception e) => MaskMethod_Error(e);
|
||||
|
||||
/// <summary>
|
||||
/// 新建一个BaseAddonController
|
||||
/// </summary>
|
||||
/// <param name="addon"></param>
|
||||
/// <param name="delegates"></param>
|
||||
public BaseAddonController(IAddon addon, Hashtable delegates)
|
||||
{
|
||||
Addon = (T)addon;
|
||||
if (delegates.ContainsKey("WriteLine")) MaskMethod_WriteLine = delegates["WriteLine"] != null ? (Action<string>)delegates["WriteLine"]! : new(DefaultPrint);
|
||||
if (delegates.ContainsKey("Error")) MaskMethod_Error = delegates["Error"] != null ? (Action<Exception>)delegates["Error"]! : new(DefaultPrint);
|
||||
MaskMethod_WriteLine ??= new(DefaultPrint);
|
||||
MaskMethod_Error ??= new(DefaultPrint);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 默认的输出错误消息方法
|
||||
/// </summary>
|
||||
/// <param name="msg"></param>
|
||||
/// <returns></returns>
|
||||
private void DefaultPrint(string msg) => Console.Write("\r" + msg + "\n\r> ");
|
||||
|
||||
/// <summary>
|
||||
/// 输出错误消息
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <returns></returns>
|
||||
private void DefaultPrint(Exception e) => DefaultPrint(e.ToString());
|
||||
}
|
||||
}
|
@ -302,7 +302,7 @@
|
||||
<param name="CreateTime">创建时间</param>
|
||||
<param name="RoomMaster">房主</param>
|
||||
<param name="RoomType">房间类型</param>
|
||||
<param name="GameMode">游戏模组</param>
|
||||
<param name="GameModule">游戏模组</param>
|
||||
<param name="GameMap"></param>
|
||||
<param name="RoomState">房间状态</param>
|
||||
<param name="IsRank"></param>
|
||||
@ -389,64 +389,64 @@
|
||||
<param name="dr"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Modes">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Modes">
|
||||
<summary>
|
||||
适用于客户端的模组集
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.ServerModes">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.ServerModes">
|
||||
<summary>
|
||||
适用于服务器的模组集
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Maps">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Maps">
|
||||
<summary>
|
||||
游戏地图集
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Characters">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Characters">
|
||||
<summary>
|
||||
角色表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Skills">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Skills">
|
||||
<summary>
|
||||
技能表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Items">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Items">
|
||||
<summary>
|
||||
物品表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.LoadGameModes(Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame,System.Collections.Hashtable,System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.LoadGameModules(Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame,System.Collections.Hashtable,System.Object[])">
|
||||
<summary>
|
||||
传入 <see cref="T:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame"/> 类型来创建指定端的模组读取器
|
||||
<para>runtime = <see cref="F:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame.FunGame_Desktop"/> 时,仅读取 <seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Modes"/></para>
|
||||
<para>runtime = <see cref="F:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame.FunGame_Server"/> 时,仅读取 <seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.ServerModes"/></para>
|
||||
<seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Maps"/> 都会读取
|
||||
<para>runtime = <see cref="F:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame.FunGame_Desktop"/> 时,仅读取 <seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Modes"/></para>
|
||||
<para>runtime = <see cref="F:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame.FunGame_Server"/> 时,仅读取 <seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.ServerModes"/></para>
|
||||
<seealso cref="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Maps"/> 都会读取
|
||||
</summary>
|
||||
<param name="runtime">传入 <see cref="T:Milimoe.FunGame.Core.Library.Constant.FunGameInfo.FunGame"/> 类型来创建指定端的模组读取器</param>
|
||||
<param name="delegates">用于构建 <see cref="T:Milimoe.FunGame.Core.Controller.AddonController"/></param>
|
||||
<param name="delegates">用于构建 <see cref="T:Milimoe.FunGame.Core.Controller.AddonController`1"/></param>
|
||||
<param name="otherobjs">其他需要传入给插件初始化的对象</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.Item(System.String)">
|
||||
<member name="P:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.Item(System.String)">
|
||||
<summary>
|
||||
获取对应名称的模组实例
|
||||
<para>如果需要取得服务器模组的实例,请调用 <see cref="M:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.GetServerMode(System.String)"/></para>
|
||||
<para>如果需要取得服务器模组的实例,请调用 <see cref="M:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.GetServerMode(System.String)"/></para>
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.GetServerMode(System.String)">
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.GetServerMode(System.String)">
|
||||
<summary>
|
||||
获取对应名称的服务器模组实例
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModeLoader.GetGameMap(System.String)">
|
||||
<member name="M:Milimoe.FunGame.Core.Api.Utility.GameModuleLoader.GetGameMap(System.String)">
|
||||
<summary>
|
||||
获取对应名称的游戏地图
|
||||
</summary>
|
||||
@ -943,7 +943,7 @@
|
||||
<summary>
|
||||
构建一个插件读取器并读取插件
|
||||
</summary>
|
||||
<param name="delegates">用于构建 <see cref="T:Milimoe.FunGame.Core.Controller.AddonController"/></param>
|
||||
<param name="delegates">用于构建 <see cref="T:Milimoe.FunGame.Core.Controller.AddonController`1"/></param>
|
||||
<param name="otherobjs">其他需要传入给插件初始化的对象</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
@ -1146,63 +1146,101 @@
|
||||
<param name="strs"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController.MaskMethod_WriteLine">
|
||||
<member name="T:Milimoe.FunGame.Core.Controller.AddonController`1">
|
||||
<summary>
|
||||
输出系统消息
|
||||
这个控制器在Base的基础上添加了DataRequest
|
||||
</summary>
|
||||
<typeparam name="T"></typeparam>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController.MaskMethod_Error">
|
||||
<summary>
|
||||
输出错误消息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController.MaskMethod_NewDataRequest">
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController`1.MaskMethod_NewDataRequest">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建新的数据请求
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController.MaskMethod_NewLongRunningDataRequest">
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.AddonController`1.MaskMethod_NewLongRunningDataRequest">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建长时间运行的数据请求
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController.WriteLine(System.String)">
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController`1.NewDataRequest(Milimoe.FunGame.Core.Library.Constant.DataRequestType)">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建新的数据请求
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
<exception cref="T:Milimoe.FunGame.ModuleServerNewDataRequestException"></exception>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController`1.NewLongRunningDataRequest(Milimoe.FunGame.Core.Library.Constant.DataRequestType)">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建长时间运行的数据请求
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
<exception cref="T:Milimoe.FunGame.ModuleServerNewDataRequestException"></exception>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController`1.#ctor(Milimoe.FunGame.Core.Interface.Addons.IAddon,System.Collections.Hashtable)">
|
||||
<summary>
|
||||
新建一个AddonController
|
||||
</summary>
|
||||
<param name="addon"></param>
|
||||
<param name="delegates"></param>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Controller.BaseAddonController`1">
|
||||
<summary>
|
||||
这是通用的控制器,仅提供基本功能
|
||||
</summary>
|
||||
<typeparam name="T">Addon的类型,如<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModule"/>或者<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.Plugin"/></typeparam>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.BaseAddonController`1.Addon">
|
||||
<summary>
|
||||
控制器的本体
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.BaseAddonController`1.MaskMethod_WriteLine">
|
||||
<summary>
|
||||
输出系统消息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Controller.BaseAddonController`1.MaskMethod_Error">
|
||||
<summary>
|
||||
输出错误消息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.BaseAddonController`1.WriteLine(System.String)">
|
||||
<summary>
|
||||
输出系统消息
|
||||
</summary>
|
||||
<param name="msg"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController.Error(System.Exception)">
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.BaseAddonController`1.Error(System.Exception)">
|
||||
<summary>
|
||||
输出错误消息
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController.NewDataRequest(Milimoe.FunGame.Core.Library.Constant.DataRequestType)">
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.BaseAddonController`1.#ctor(Milimoe.FunGame.Core.Interface.Addons.IAddon,System.Collections.Hashtable)">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建新的数据请求
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
新建一个BaseAddonController
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController.NewLongRunningDataRequest(Milimoe.FunGame.Core.Library.Constant.DataRequestType)">
|
||||
<summary>
|
||||
基于本地已连接的Socket创建长时间运行的数据请求
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
</summary>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.AddonController.#ctor(Milimoe.FunGame.Core.Interface.Addons.IAddon,System.Collections.Hashtable)">
|
||||
<summary>
|
||||
新建一个AddonController
|
||||
</summary>
|
||||
<param name="Addon"></param>
|
||||
<param name="addon"></param>
|
||||
<param name="delegates"></param>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.BaseAddonController`1.DefaultPrint(System.String)">
|
||||
<summary>
|
||||
默认的输出错误消息方法
|
||||
</summary>
|
||||
<param name="msg"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Controller.BaseAddonController`1.DefaultPrint(System.Exception)">
|
||||
<summary>
|
||||
输出错误消息
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Controller.RunTimeController">
|
||||
<summary>
|
||||
此类实现服务器连接、断开连接、心跳检测、创建数据请求等功能
|
||||
@ -1518,7 +1556,7 @@
|
||||
<member name="M:Milimoe.FunGame.Core.Interface.Base.IServerModel.Read(Milimoe.FunGame.Core.Library.Common.Network.ClientSocket)">
|
||||
<summary>
|
||||
开始接收客户端消息
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer"/> 中调用此方法</para>
|
||||
</summary>
|
||||
<param name="socket"></param>
|
||||
<returns></returns>
|
||||
@ -1526,7 +1564,7 @@
|
||||
<member name="M:Milimoe.FunGame.Core.Interface.Base.IServerModel.Start">
|
||||
<summary>
|
||||
启动对客户端的监听
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer"/> 中调用此方法</para>
|
||||
<para>请勿在 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer"/> 中调用此方法</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Interface.IEventHandler">
|
||||
@ -1536,7 +1574,7 @@
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Interface.IGamingEventHandler">
|
||||
<summary>
|
||||
局内事件的接口,与 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameMode"/> 配套使用
|
||||
局内事件的接口,与 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModule"/> 配套使用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Interface.IClient">
|
||||
@ -1549,53 +1587,75 @@
|
||||
服务器需要实现此接口
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Name">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Name">
|
||||
<summary>
|
||||
模组名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Description">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Description">
|
||||
<summary>
|
||||
模组描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Version">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Version">
|
||||
<summary>
|
||||
模组版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Author">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Author">
|
||||
<summary>
|
||||
模组作者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Characters">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Characters">
|
||||
<summary>
|
||||
此模组中包含的角色
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.IsLoaded">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.IsLoaded">
|
||||
<summary>
|
||||
加载标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.Load(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.Load(System.Object[])">
|
||||
<summary>
|
||||
加载模组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.AfterLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.AfterLoad">
|
||||
<summary>
|
||||
模组加载后需要做的事
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterMode.BeforeLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.CharacterModule.BeforeLoad">
|
||||
<summary>
|
||||
允许返回false来阻止加载此模组
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.ExamplePlugin">
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.Example.ExampleGameModuleConstant">
|
||||
<summary>
|
||||
建议使用一个类来存储常量,方便重用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.Example.ExampleGameModule">
|
||||
<summary>
|
||||
模组:必须继承基类:<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModule"/><para/>
|
||||
继承事件接口并实现其方法来使模组生效。例如继承:<seealso cref="T:Milimoe.FunGame.Core.Interface.IGamingConnectEvent"/><para/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.Example.ExampleGameModuleServer">
|
||||
<summary>
|
||||
模组服务器:必须继承基类:<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer"/><para/>
|
||||
使用switch块分类处理 <see cref="T:Milimoe.FunGame.Core.Library.Constant.GamingType"/>。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.Example.ExampleGameMap">
|
||||
<summary>
|
||||
地图:必须继承基类:<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameMap"/><para/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.Example.ExamplePlugin">
|
||||
<summary>
|
||||
必须继承基类:<see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.Plugin"/><para/>
|
||||
继承事件接口并实现其方法来使插件生效。例如继承:<seealso cref="T:Milimoe.FunGame.Core.Interface.ILoginEvent"/>
|
||||
@ -1659,145 +1719,188 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Name">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Name">
|
||||
<summary>
|
||||
模组名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Description">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Description">
|
||||
<summary>
|
||||
模组描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Version">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Version">
|
||||
<summary>
|
||||
模组版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Author">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Author">
|
||||
<summary>
|
||||
模组作者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.DefaultMap">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.DefaultMap">
|
||||
<summary>
|
||||
默认地图
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Maps">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.GameModuleDepend">
|
||||
<summary>
|
||||
模组所使用的地图
|
||||
模组的依赖集合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.RoomType">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.RoomType">
|
||||
<summary>
|
||||
适用的房间模式
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Controller">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Controller">
|
||||
<summary>
|
||||
包含了一些常用方法的控制器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameMode._Controller">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Milimoe#FunGame#Core#Interface#Addons#IAddonController{Milimoe#FunGame#Core#Interface#Addons#IGameModule}#Controller">
|
||||
<summary>
|
||||
base控制器,没有DataRequest
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModule._Controller">
|
||||
<summary>
|
||||
控制器内部变量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.StartUI(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.StartGame(Milimoe.FunGame.Core.Model.Gaming,System.Object[])">
|
||||
<summary>
|
||||
必须重写此方法,游戏的主要逻辑写在这里面<para/>
|
||||
此方法会在 <see cref="M:Milimoe.FunGame.Core.Model.Gaming.StartGame(Milimoe.FunGame.Core.Library.Common.Addon.GameModule,Milimoe.FunGame.Core.Entity.Room,System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.User},System.Object[])"/> 时调用<para/>
|
||||
</summary>
|
||||
<param name="instance"></param>
|
||||
<param name="args"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.StartUI(System.Object[])">
|
||||
<summary>
|
||||
如模组有界面,请重写此方法
|
||||
此方法会在StartGame时调用
|
||||
</summary>
|
||||
<param name="args"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.IsLoaded">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.IsLoaded">
|
||||
<summary>
|
||||
加载标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Load(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Load(System.Object[])">
|
||||
<summary>
|
||||
加载模组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.AfterLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.AfterLoad">
|
||||
<summary>
|
||||
模组加载后需要做的事
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.BeforeLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.BeforeLoad">
|
||||
<summary>
|
||||
允许返回false来阻止加载此模组
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Init(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Init(System.Object[])">
|
||||
<summary>
|
||||
传递委托以便让模组调用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Session">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Session">
|
||||
<summary>
|
||||
Session对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.Config">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.Config">
|
||||
<summary>
|
||||
Config对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.BindEvent">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.BindEvent">
|
||||
<summary>
|
||||
绑定事件。在<see cref="M:Milimoe.FunGame.Core.Library.Common.Addon.GameMode.BeforeLoad"/>后触发
|
||||
绑定事件。在<see cref="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModule.BeforeLoad"/>后触发
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Name">
|
||||
<member name="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend">
|
||||
<summary>
|
||||
模组的依赖集合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend.#ctor(System.String[],System.String[],System.String[],System.String[])">
|
||||
<summary>
|
||||
模组的依赖集合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend.Maps">
|
||||
<summary>
|
||||
模组所使用的地图组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend.Characters">
|
||||
<summary>
|
||||
模组所使用的角色组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend.Items">
|
||||
<summary>
|
||||
模组所使用的物品组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleDepend.Skills">
|
||||
<summary>
|
||||
模组所使用的技能组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Name">
|
||||
<summary>
|
||||
模组名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Description">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Description">
|
||||
<summary>
|
||||
模组描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Version">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Version">
|
||||
<summary>
|
||||
模组版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Author">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Author">
|
||||
<summary>
|
||||
模组作者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.DefaultMap">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.DefaultMap">
|
||||
<summary>
|
||||
默认地图
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Maps">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.GameModuleDepend">
|
||||
<summary>
|
||||
模组所使用的地图
|
||||
模组的依赖集合
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Controller">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Controller">
|
||||
<summary>
|
||||
包含了一些常用方法的控制器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer._Controller">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer._Controller">
|
||||
<summary>
|
||||
控制器内部变量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.StartServer(System.String,Milimoe.FunGame.Core.Entity.Room,System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.User},Milimoe.FunGame.Core.Interface.Base.IServerModel,System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Interface.Base.IServerModel},System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.StartServer(System.String,Milimoe.FunGame.Core.Entity.Room,System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.User},Milimoe.FunGame.Core.Interface.Base.IServerModel,System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Interface.Base.IServerModel},System.Object[])">
|
||||
<summary>
|
||||
启动服务器监听 请在此处实现服务器逻辑
|
||||
</summary>
|
||||
<param name="GameMode"></param>
|
||||
<param name="GameModule"></param>
|
||||
<param name="Room"></param>
|
||||
<param name="Users"></param>
|
||||
<param name="RoomMasterServerModel"></param>
|
||||
@ -1805,7 +1908,7 @@
|
||||
<param name="Args"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.GamingMessageHandler(System.String,Milimoe.FunGame.Core.Library.Constant.GamingType,System.Collections.Hashtable)">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.GamingMessageHandler(System.String,Milimoe.FunGame.Core.Library.Constant.GamingType,System.Collections.Hashtable)">
|
||||
<summary>
|
||||
接收并处理GamingMessage
|
||||
</summary>
|
||||
@ -1814,68 +1917,68 @@
|
||||
<param name="data">消息参数</param>
|
||||
<returns>底层会将哈希表中的数据发送给客户端</returns>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.IsLoaded">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.IsLoaded">
|
||||
<summary>
|
||||
加载标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.Load(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.Load(System.Object[])">
|
||||
<summary>
|
||||
加载模组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.AfterLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.AfterLoad">
|
||||
<summary>
|
||||
模组加载后需要做的事
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer.BeforeLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer.BeforeLoad">
|
||||
<summary>
|
||||
允许返回false来阻止加载此模组
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Name">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Name">
|
||||
<summary>
|
||||
模组名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Description">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Description">
|
||||
<summary>
|
||||
模组描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Version">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Version">
|
||||
<summary>
|
||||
模组版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Author">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Author">
|
||||
<summary>
|
||||
模组作者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Items">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Items">
|
||||
<summary>
|
||||
此模组中包含的物品
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.IsLoaded">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.IsLoaded">
|
||||
<summary>
|
||||
加载标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.Load(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.Load(System.Object[])">
|
||||
<summary>
|
||||
加载模组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.AfterLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.AfterLoad">
|
||||
<summary>
|
||||
模组加载后需要做的事
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemMode.BeforeLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.ItemModule.BeforeLoad">
|
||||
<summary>
|
||||
允许返回false来阻止加载此模组
|
||||
</summary>
|
||||
@ -1906,6 +2009,11 @@
|
||||
包含了一些常用方法的控制器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.Plugin.Milimoe#FunGame#Core#Interface#Addons#IAddonController{Milimoe#FunGame#Core#Interface#Addons#IPlugin}#Controller">
|
||||
<summary>
|
||||
base控制器,没有DataRequest
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.Plugin._Controller">
|
||||
<summary>
|
||||
控制器内部变量
|
||||
@ -1952,47 +2060,47 @@
|
||||
绑定事件。在<see cref="M:Milimoe.FunGame.Core.Library.Common.Addon.Plugin.BeforeLoad"/>后触发
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Name">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Name">
|
||||
<summary>
|
||||
模组名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Description">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Description">
|
||||
<summary>
|
||||
模组描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Version">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Version">
|
||||
<summary>
|
||||
模组版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Author">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Author">
|
||||
<summary>
|
||||
模组作者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Skills">
|
||||
<member name="P:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Skills">
|
||||
<summary>
|
||||
此模组中包含的技能
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.IsLoaded">
|
||||
<member name="F:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.IsLoaded">
|
||||
<summary>
|
||||
加载标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.Load(System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.Load(System.Object[])">
|
||||
<summary>
|
||||
加载模组
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.AfterLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.AfterLoad">
|
||||
<summary>
|
||||
模组加载后需要做的事
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillMode.BeforeLoad">
|
||||
<member name="M:Milimoe.FunGame.Core.Library.Common.Addon.SkillModule.BeforeLoad">
|
||||
<summary>
|
||||
允许返回false来阻止加载此模组
|
||||
</summary>
|
||||
@ -2468,23 +2576,35 @@
|
||||
客户端需要使用创建此类单例
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Model.Gaming.StartGame(Milimoe.FunGame.Core.Library.Common.Addon.GameMode,Milimoe.FunGame.Core.Entity.Room,System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.User})">
|
||||
<member name="P:Milimoe.FunGame.Core.Model.Gaming.GameModule">
|
||||
<summary>
|
||||
使用的模组实例
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Model.Gaming.EventArgs">
|
||||
<summary>
|
||||
游戏的参数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Model.Gaming.StartGame(Milimoe.FunGame.Core.Library.Common.Addon.GameModule,Milimoe.FunGame.Core.Entity.Room,System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.User},System.Object[])">
|
||||
<summary>
|
||||
传入游戏所需的参数,构造一个Gaming实例
|
||||
</summary>
|
||||
<param name="GameMode"></param>
|
||||
<param name="Room"></param>
|
||||
<param name="Users"></param>
|
||||
<param name="module"></param>
|
||||
<param name="room"></param>
|
||||
<param name="users"></param>
|
||||
<param name="args"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Model.Gaming.GamingHandler(Milimoe.FunGame.Core.Library.Constant.GamingType,System.Collections.Hashtable)">
|
||||
<summary>
|
||||
需在RunTimeController的SocketHandler_Gaming方法中调用此方法
|
||||
<para>客户端也可以参照此方法自行实现</para>
|
||||
<para>此方法目的是为了触发 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameMode"/> 的局内事件实现</para>
|
||||
<para>此方法目的是为了触发 <see cref="T:Milimoe.FunGame.Core.Library.Common.Addon.GameModule"/> 的局内事件实现</para>
|
||||
</summary>
|
||||
<param name="GamingType"></param>
|
||||
<param name="Data"></param>
|
||||
<param name="type">消息类型</param>
|
||||
<param name="data">接收到的数据</param>
|
||||
<returns>底层会将哈希表中的数据发送给服务器</returns>
|
||||
</member>
|
||||
<member name="P:Milimoe.FunGame.Core.Model.Session.Server_Address">
|
||||
<summary>
|
||||
@ -2530,11 +2650,11 @@
|
||||
<param name="otherobjs"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Service.AddonManager.LoadGameModes(System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Library.Common.Addon.GameMode},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Character},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Skill},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Item},System.Collections.Hashtable,System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Service.AddonManager.LoadGameModules(System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Library.Common.Addon.GameModule},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Character},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Skill},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Item},System.Collections.Hashtable,System.Object[])">
|
||||
<summary>
|
||||
从gamemodes目录加载所有模组
|
||||
从modules目录加载所有模组
|
||||
</summary>
|
||||
<param name="gamemodes"></param>
|
||||
<param name="modules"></param>
|
||||
<param name="characters"></param>
|
||||
<param name="skills"></param>
|
||||
<param name="items"></param>
|
||||
@ -2542,11 +2662,11 @@
|
||||
<param name="otherobjs"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Service.AddonManager.LoadGameModesForServer(System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Library.Common.Addon.GameModeServer},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Character},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Skill},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Item},System.Collections.Hashtable,System.Object[])">
|
||||
<member name="M:Milimoe.FunGame.Core.Service.AddonManager.LoadGameModulesForServer(System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Library.Common.Addon.GameModuleServer},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Character},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Skill},System.Collections.Generic.List{Milimoe.FunGame.Core.Entity.Item},System.Collections.Hashtable,System.Object[])">
|
||||
<summary>
|
||||
从gamemodes目录加载所有适用于服务器的模组
|
||||
从modules目录加载所有适用于服务器的模组
|
||||
</summary>
|
||||
<param name="gamemodes"></param>
|
||||
<param name="modules"></param>
|
||||
<param name="characters"></param>
|
||||
<param name="skills"></param>
|
||||
<param name="items"></param>
|
||||
@ -2556,9 +2676,9 @@
|
||||
</member>
|
||||
<member name="M:Milimoe.FunGame.Core.Service.AddonManager.LoadGameMaps(System.Collections.Generic.Dictionary{System.String,Milimoe.FunGame.Core.Library.Common.Addon.GameMap},System.Object[])">
|
||||
<summary>
|
||||
从gamemaps目录加载所有地图
|
||||
从maps目录加载所有地图
|
||||
</summary>
|
||||
<param name="gamemaps"></param>
|
||||
<param name="maps"></param>
|
||||
<param name="objs"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
|
@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Core.Entity
|
||||
public DateTime CreateTime { get; set; } = General.DefaultTime;
|
||||
public User RoomMaster { get; set; } = General.UnknownUserInstance;
|
||||
public RoomType RoomType { get; set; } = RoomType.All;
|
||||
public string GameMode { get; set; } = "";
|
||||
public string GameModule { get; set; } = "";
|
||||
public string GameMap { get; set; } = "";
|
||||
public RoomState RoomState { get; set; }
|
||||
public bool IsRank { get; set; } = false;
|
||||
@ -24,14 +24,14 @@ namespace Milimoe.FunGame.Core.Entity
|
||||
Statistics = new(this);
|
||||
}
|
||||
|
||||
internal Room(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameMode = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
internal Room(long Id = 0, string Roomid = "-1", DateTime? CreateTime = null, User? RoomMaster = null, RoomType RoomType = RoomType.All, string GameModule = "", string GameMap = "", RoomState RoomState = RoomState.Created, bool IsRank = false, string Password = "")
|
||||
{
|
||||
this.Id = Id;
|
||||
this.Roomid = Roomid;
|
||||
this.CreateTime = CreateTime ?? General.DefaultTime;
|
||||
this.RoomMaster = RoomMaster ?? General.UnknownUserInstance;
|
||||
this.RoomType = RoomType;
|
||||
this.GameMode = GameMode;
|
||||
this.GameModule = GameModule;
|
||||
this.GameMap = GameMap;
|
||||
this.RoomState = RoomState;
|
||||
this.IsRank = IsRank;
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IAddonController
|
||||
public interface IAddonController<T> where T : IAddon
|
||||
{
|
||||
public AddonController Controller { get; set; }
|
||||
public BaseAddonController<T> Controller { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IGameMode : IAddon, IAddonController, IGamingConnectEventHandler, IGamingDisconnectEventHandler, IGamingReconnectEventHandler, IGamingBanCharacterEventHandler, IGamingPickCharacterEventHandler,
|
||||
IGamingRandomEventHandler, IGamingRoundEventHandler, IGamingLevelUpEventHandler, IGamingMoveEventHandler, IGamingAttackEventHandler, IGamingSkillEventHandler, IGamingItemEventHandler, IGamingMagicEventHandler,
|
||||
IGamingBuyEventHandler, IGamingSuperSkillEventHandler, IGamingPauseEventHandler, IGamingUnpauseEventHandler, IGamingSurrenderEventHandler, IGamingUpdateInfoEventHandler, IGamingPunishEventHandler
|
||||
{
|
||||
public abstract bool StartUI(params object[] args);
|
||||
}
|
||||
}
|
12
Interface/Base/Addons/IGameModule.cs
Normal file
12
Interface/Base/Addons/IGameModule.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using Milimoe.FunGame.Core.Model;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IGameModule : IAddon, IAddonController<IGameModule>, IGamingConnectEventHandler, IGamingDisconnectEventHandler, IGamingReconnectEventHandler, IGamingBanCharacterEventHandler, IGamingPickCharacterEventHandler,
|
||||
IGamingRandomEventHandler, IGamingRoundEventHandler, IGamingLevelUpEventHandler, IGamingMoveEventHandler, IGamingAttackEventHandler, IGamingSkillEventHandler, IGamingItemEventHandler, IGamingMagicEventHandler,
|
||||
IGamingBuyEventHandler, IGamingSuperSkillEventHandler, IGamingPauseEventHandler, IGamingUnpauseEventHandler, IGamingSurrenderEventHandler, IGamingUpdateInfoEventHandler, IGamingPunishEventHandler, IGameModuleDepend
|
||||
{
|
||||
public abstract void StartGame(Gaming instance, params object[] args);
|
||||
public abstract void StartUI(params object[] args);
|
||||
}
|
||||
}
|
9
Interface/Base/Addons/IGameModuleDepend.cs
Normal file
9
Interface/Base/Addons/IGameModuleDepend.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using Milimoe.FunGame.Core.Library.Common.Addon;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IGameModuleDepend
|
||||
{
|
||||
public GameModuleDepend GameModuleDepend { get; }
|
||||
}
|
||||
}
|
@ -5,9 +5,9 @@ using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IGameModeServer : IAddon, IAddonController
|
||||
public interface IGameModuleServer : IAddon, IAddonController<IGameModuleServer>, IGameModuleDepend
|
||||
{
|
||||
public bool StartServer(string GameMode, Room Room, List<User> Users, IServerModel RoomMasterServerModel, Dictionary<string, IServerModel> OthersServerModel, params object[] args);
|
||||
public bool StartServer(string GameModule, Room Room, List<User> Users, IServerModel RoomMasterServerModel, Dictionary<string, IServerModel> OthersServerModel, params object[] args);
|
||||
|
||||
public Hashtable GamingMessageHandler(string username, GamingType type, Hashtable data);
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
namespace Milimoe.FunGame.Core.Interface.Addons
|
||||
{
|
||||
public interface IPlugin : IAddon, IAddonController, IConnectEventHandler, IDisconnectEventHandler, ILoginEventHandler, ILogoutEventHandler, IRegEventHandler, IIntoRoomEventHandler, ISendTalkEventHandler,
|
||||
public interface IPlugin : IAddon, IAddonController<IPlugin>, IConnectEventHandler, IDisconnectEventHandler, ILoginEventHandler, ILogoutEventHandler, IRegEventHandler, IIntoRoomEventHandler, ISendTalkEventHandler,
|
||||
ICreateRoomEventHandler, IQuitRoomEventHandler, IChangeRoomSettingEventHandler, IStartMatchEventHandler, IStartGameEventHandler, IChangeProfileEventHandler, IChangeAccountSettingEventHandler,
|
||||
IOpenInventoryEventHandler, ISignInEventHandler, IOpenStoreEventHandler, IBuyItemEventHandler, IShowRankingEventHandler, IUseItemEventHandler, IEndGameEventHandler
|
||||
{
|
||||
|
@ -59,7 +59,7 @@ namespace Milimoe.FunGame.Core.Interface.Base
|
||||
|
||||
/// <summary>
|
||||
/// 开始接收客户端消息
|
||||
/// <para>请勿在 <see cref="GameModeServer"/> 中调用此方法</para>
|
||||
/// <para>请勿在 <see cref="GameModuleServer"/> 中调用此方法</para>
|
||||
/// </summary>
|
||||
/// <param name="socket"></param>
|
||||
/// <returns></returns>
|
||||
@ -67,7 +67,7 @@ namespace Milimoe.FunGame.Core.Interface.Base
|
||||
|
||||
/// <summary>
|
||||
/// 启动对客户端的监听
|
||||
/// <para>请勿在 <see cref="GameModeServer"/> 中调用此方法</para>
|
||||
/// <para>请勿在 <see cref="GameModuleServer"/> 中调用此方法</para>
|
||||
/// </summary>
|
||||
public void Start();
|
||||
}
|
||||
|
@ -5,14 +5,14 @@ using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
namespace Milimoe.FunGame.Core.Interface
|
||||
{
|
||||
/// <summary>
|
||||
/// 局内事件的接口,与 <see cref="GameMode"/> 配套使用
|
||||
/// 局内事件的接口,与 <see cref="GameModule"/> 配套使用
|
||||
/// </summary>
|
||||
public interface IGamingEventHandler
|
||||
{
|
||||
public delegate void BeforeEventHandler(object sender, GamingEventArgs e, Hashtable data);
|
||||
public delegate void AfterEventHandler(object sender, GamingEventArgs e, Hashtable data);
|
||||
public delegate void SucceedEventHandler(object sender, GamingEventArgs e, Hashtable data);
|
||||
public delegate void FailedEventHandler(object sender, GamingEventArgs e, Hashtable data);
|
||||
public delegate void BeforeEventHandler(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public delegate void AfterEventHandler(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public delegate void SucceedEventHandler(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public delegate void FailedEventHandler(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingConnectEventHandler : IGamingEventHandler
|
||||
@ -22,10 +22,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingConnect;
|
||||
public event FailedEventHandler? FailedGamingConnect;
|
||||
|
||||
public void OnBeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingDisconnectEventHandler : IGamingEventHandler
|
||||
@ -35,10 +35,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingDisconnect;
|
||||
public event FailedEventHandler? FailedGamingDisconnect;
|
||||
|
||||
public void OnBeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingReconnectEventHandler : IGamingEventHandler
|
||||
@ -48,10 +48,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingReconnect;
|
||||
public event FailedEventHandler? FailedGamingReconnect;
|
||||
|
||||
public void OnBeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingBanCharacterEventHandler : IGamingEventHandler
|
||||
@ -61,10 +61,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingBanCharacter;
|
||||
public event FailedEventHandler? FailedGamingBanCharacter;
|
||||
|
||||
public void OnBeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPickCharacterEventHandler : IGamingEventHandler
|
||||
@ -74,10 +74,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingPickCharacter;
|
||||
public event FailedEventHandler? FailedGamingPickCharacter;
|
||||
|
||||
public void OnBeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingRandomEventHandler : IGamingEventHandler
|
||||
@ -87,10 +87,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingRandom;
|
||||
public event FailedEventHandler? FailedGamingRandom;
|
||||
|
||||
public void OnBeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingRoundEventHandler : IGamingEventHandler
|
||||
@ -100,10 +100,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingRound;
|
||||
public event FailedEventHandler? FailedGamingRound;
|
||||
|
||||
public void OnBeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingLevelUpEventHandler : IGamingEventHandler
|
||||
@ -113,10 +113,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingLevelUp;
|
||||
public event FailedEventHandler? FailedGamingLevelUp;
|
||||
|
||||
public void OnBeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingMoveEventHandler : IGamingEventHandler
|
||||
@ -126,10 +126,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingMove;
|
||||
public event FailedEventHandler? FailedGamingMove;
|
||||
|
||||
public void OnBeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingAttackEventHandler : IGamingEventHandler
|
||||
@ -139,10 +139,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingAttack;
|
||||
public event FailedEventHandler? FailedGamingAttack;
|
||||
|
||||
public void OnBeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSkillEventHandler : IGamingEventHandler
|
||||
@ -152,10 +152,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingSkill;
|
||||
public event FailedEventHandler? FailedGamingSkill;
|
||||
|
||||
public void OnBeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingItemEventHandler : IGamingEventHandler
|
||||
@ -165,10 +165,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingItem;
|
||||
public event FailedEventHandler? FailedGamingItem;
|
||||
|
||||
public void OnBeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingMagicEventHandler : IGamingEventHandler
|
||||
@ -178,10 +178,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingMagic;
|
||||
public event FailedEventHandler? FailedGamingMagic;
|
||||
|
||||
public void OnBeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingBuyEventHandler : IGamingEventHandler
|
||||
@ -191,10 +191,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingBuy;
|
||||
public event FailedEventHandler? FailedGamingBuy;
|
||||
|
||||
public void OnBeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSuperSkillEventHandler : IGamingEventHandler
|
||||
@ -204,10 +204,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingSuperSkill;
|
||||
public event FailedEventHandler? FailedGamingSuperSkill;
|
||||
|
||||
public void OnBeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPauseEventHandler : IGamingEventHandler
|
||||
@ -217,10 +217,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingPause;
|
||||
public event FailedEventHandler? FailedGamingPause;
|
||||
|
||||
public void OnBeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingUnpauseEventHandler : IGamingEventHandler
|
||||
@ -230,10 +230,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingUnpause;
|
||||
public event FailedEventHandler? FailedGamingUnpause;
|
||||
|
||||
public void OnBeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSurrenderEventHandler : IGamingEventHandler
|
||||
@ -243,10 +243,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingSurrender;
|
||||
public event FailedEventHandler? FailedGamingSurrender;
|
||||
|
||||
public void OnBeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingUpdateInfoEventHandler : IGamingEventHandler
|
||||
@ -256,10 +256,10 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingUpdateInfo;
|
||||
public event FailedEventHandler? FailedGamingUpdateInfo;
|
||||
|
||||
public void OnBeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPunishEventHandler : IGamingEventHandler
|
||||
@ -269,9 +269,9 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
public event SucceedEventHandler? SucceedGamingPunish;
|
||||
public event FailedEventHandler? FailedGamingPunish;
|
||||
|
||||
public void OnBeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnAfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnSucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnFailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void OnBeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnAfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnSucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void OnFailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
}
|
||||
|
@ -6,161 +6,161 @@ namespace Milimoe.FunGame.Core.Interface
|
||||
{
|
||||
public interface IGamingConnectEvent
|
||||
{
|
||||
public void BeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingDisconnectEvent
|
||||
{
|
||||
public void BeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingReconnectEvent
|
||||
{
|
||||
public void BeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingBanCharacterEvent
|
||||
{
|
||||
public void BeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPickCharacterEvent
|
||||
{
|
||||
public void BeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingRandomEvent
|
||||
{
|
||||
public void BeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingRoundEvent
|
||||
{
|
||||
public void BeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingLevelUpEvent
|
||||
{
|
||||
public void BeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingMoveEvent
|
||||
{
|
||||
public void BeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingAttackEvent
|
||||
{
|
||||
public void BeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSkillEvent
|
||||
{
|
||||
public void BeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingItemEvent
|
||||
{
|
||||
public void BeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingMagicEvent
|
||||
{
|
||||
public void BeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingBuyEvent
|
||||
{
|
||||
public void BeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSuperSkillEvent
|
||||
{
|
||||
public void BeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPauseEvent
|
||||
{
|
||||
public void BeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingUnpauseEvent
|
||||
{
|
||||
public void BeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingSurrenderEvent
|
||||
{
|
||||
public void BeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingUpdateInfoEvent
|
||||
{
|
||||
public void BeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
|
||||
public interface IGamingPunishEvent
|
||||
{
|
||||
public void BeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void AfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void SucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void FailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data);
|
||||
public void BeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void AfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void SucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
public void FailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result);
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
/// </summary>
|
||||
public interface IServer
|
||||
{
|
||||
public string[] GameModeList { get; }
|
||||
public string[] GameModuleList { get; }
|
||||
public string[] GameMapList { get; }
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ using Milimoe.FunGame.Core.Interface.Addons;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
public abstract class CharacterMode : IAddon
|
||||
public abstract class CharacterModule : IAddon
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组名称
|
211
Library/Common/Addon/Example/ExampleGameModule.cs
Normal file
211
Library/Common/Addon/Example/ExampleGameModule.cs
Normal file
@ -0,0 +1,211 @@
|
||||
using System.Collections;
|
||||
using Milimoe.FunGame.Core.Api.Utility;
|
||||
using Milimoe.FunGame.Core.Entity;
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
using Milimoe.FunGame.Core.Interface.Base;
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
using Milimoe.FunGame.Core.Model;
|
||||
|
||||
// 此演示包含GameModule、GameModuleServer、GameMap
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon.Example
|
||||
{
|
||||
/// <summary>
|
||||
/// 建议使用一个类来存储常量,方便重用
|
||||
/// </summary>
|
||||
public class ExampleGameModuleConstant
|
||||
{
|
||||
public static GameModuleDepend GameModuleDepend => _depends;
|
||||
|
||||
private static readonly string[] Maps = ["Example GameMap"];
|
||||
private static readonly string[] Characters = [];
|
||||
private static readonly string[] Items = [];
|
||||
private static readonly string[] Skills = [];
|
||||
private static readonly GameModuleDepend _depends = new(Maps, Characters, Items, Skills);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 模组:必须继承基类:<see cref="GameModule"/><para/>
|
||||
/// 继承事件接口并实现其方法来使模组生效。例如继承:<seealso cref="IGamingConnectEvent"/><para/>
|
||||
/// </summary>
|
||||
public class ExampleGameModule : GameModule, IGamingConnectEvent
|
||||
{
|
||||
public override string Name => "FunGame Example GameModule";
|
||||
|
||||
public override string Description => "My First GameModule";
|
||||
|
||||
public override string Version => "1.0.0";
|
||||
|
||||
public override string Author => "FunGamer";
|
||||
|
||||
public override string DefaultMap => GameModuleDepend.Maps.Length > 0 ? GameModuleDepend.Maps[0] : "";
|
||||
|
||||
public override GameModuleDepend GameModuleDepend => ExampleGameModuleConstant.GameModuleDepend;
|
||||
|
||||
public override RoomType RoomType => RoomType.Mix;
|
||||
|
||||
protected Gaming? Instance;
|
||||
protected Room room = General.HallInstance;
|
||||
protected List<User> users = [];
|
||||
protected Dictionary<string, Character> characters = [];
|
||||
|
||||
public override void StartGame(Gaming instance, params object[] args)
|
||||
{
|
||||
Instance = instance;
|
||||
// 取得房间玩家等信息
|
||||
GamingEventArgs eventArgs = instance.EventArgs;
|
||||
room = eventArgs.Room;
|
||||
users = eventArgs.Users;
|
||||
characters = eventArgs.Characters;
|
||||
// 客户端做好准备后,等待服务器的消息通知,下面可以根据需求进一步处理
|
||||
}
|
||||
|
||||
public override void StartUI(params object[] args)
|
||||
{
|
||||
// 如果你是一个WPF或者Winform项目,可以在这里启动你的界面
|
||||
// 如果没有,则不需要重写此方法
|
||||
}
|
||||
|
||||
public void BeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
// 此方法预处理攻击消息
|
||||
// 如果这里将Cancel设置为true,那么这个方法结束后,后续的事件就会终止
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
public void AfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void FailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
_ = DiscountGameModuleServer();
|
||||
}
|
||||
|
||||
public async Task DiscountGameModuleServer()
|
||||
{
|
||||
// 这是一个主动请求服务器的示例:
|
||||
Api.Transmittal.DataRequest request = Controller.NewDataRequest(DataRequestType.Gaming);
|
||||
request.AddRequestData("type", GamingType.Disconnect);
|
||||
if (await request.SendRequestAsync() == RequestResult.Success)
|
||||
{
|
||||
string msg = request.GetResult<string>("msg") ?? string.Empty;
|
||||
Controller.WriteLine(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 模组服务器:必须继承基类:<see cref="GameModuleServer"/><para/>
|
||||
/// 使用switch块分类处理 <see cref="GamingType"/>。
|
||||
/// </summary>
|
||||
public class ExampleGameModuleServer : GameModuleServer
|
||||
{
|
||||
public override string Name => "FunGame Example GameModule";
|
||||
|
||||
public override string Description => "My First GameModule";
|
||||
|
||||
public override string Version => "1.0.0";
|
||||
|
||||
public override string Author => "FunGamer";
|
||||
|
||||
public override string DefaultMap => GameModuleDepend.Maps.Length > 0 ? GameModuleDepend.Maps.First() : "";
|
||||
|
||||
public override GameModuleDepend GameModuleDepend => ExampleGameModuleConstant.GameModuleDepend;
|
||||
|
||||
protected Room Room = General.HallInstance;
|
||||
protected List<User> Users = [];
|
||||
protected IServerModel? RoomMaster;
|
||||
protected Dictionary<string, IServerModel> Others = [];
|
||||
protected Dictionary<string, IServerModel> All = [];
|
||||
|
||||
public override bool StartServer(string GameModule, Room Room, List<User> Users, IServerModel RoomMasterServerModel, Dictionary<string, IServerModel> OthersServerModel, params object[] Args)
|
||||
{
|
||||
// 将参数转为本地属性
|
||||
this.Room = Room;
|
||||
this.Users = Users;
|
||||
RoomMaster = RoomMasterServerModel;
|
||||
Others = OthersServerModel;
|
||||
if (RoomMaster != null)
|
||||
{
|
||||
// 这里获得了每名玩家的服务线程,保存为一个字典
|
||||
All = OthersServerModel.ToDictionary(k => k.Key, v => v.Value);
|
||||
All.Add(RoomMaster.User.Username, RoomMaster);
|
||||
}
|
||||
// 创建一个线程执行Test()
|
||||
TaskUtility.NewTask(Test).OnError(Controller.Error);
|
||||
return true;
|
||||
}
|
||||
|
||||
private readonly List<User> ConnectedUser = [];
|
||||
|
||||
private async Task Test()
|
||||
{
|
||||
// 通常,我们可以对客户端的连接状态进行确认,此方法展示如何确认客户端的连接
|
||||
Controller.WriteLine("欢迎各位玩家进入房间 " + Room.Roomid + " 。");
|
||||
SendAll(SocketMessageType.Gaming, GamingType.Connect);
|
||||
// 新建一个线程等待所有玩家确认
|
||||
while (true)
|
||||
{
|
||||
if (ConnectedUser.Count == Users.Count) break;
|
||||
// 每200ms确认一次,不需要太频繁
|
||||
await Task.Delay(200);
|
||||
}
|
||||
Controller.WriteLine("所有玩家都已经连接。");
|
||||
}
|
||||
|
||||
public override Hashtable GamingMessageHandler(string username, GamingType type, Hashtable data)
|
||||
{
|
||||
Hashtable result = [];
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case GamingType.Connect:
|
||||
// 编写处理“连接”命令的逻辑
|
||||
ConnectedUser.Add(Users.Where(u => u.Username == username).First());
|
||||
Controller.WriteLine(username + "已经连接。");
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void SendAll(SocketMessageType type, params object[] args)
|
||||
{
|
||||
// 循环服务线程,向所有玩家发送消息
|
||||
foreach (IServerModel s in All.Values)
|
||||
{
|
||||
if (s != null && s.Socket != null)
|
||||
{
|
||||
s.Send(s.Socket, type, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 地图:必须继承基类:<see cref="GameMap"/><para/>
|
||||
/// </summary>
|
||||
public class ExampleGameMap : GameMap
|
||||
{
|
||||
public override string Name => "Example GameMap";
|
||||
|
||||
public override string Description => "My First GameMap";
|
||||
|
||||
public override string Version => "1.0.0";
|
||||
|
||||
public override string Author => "FunGamer";
|
||||
|
||||
public override float Width => 12.0f;
|
||||
|
||||
public override float Height => 12.0f;
|
||||
|
||||
public override float Size => 4.0f;
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
using Milimoe.FunGame.Core.Interface;
|
||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon.Example
|
||||
{
|
||||
/// <summary>
|
||||
/// 必须继承基类:<see cref="Plugin"/><para/>
|
||||
@ -24,7 +24,8 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
|
||||
public void BeforeLoginEvent(object sender, LoginEventArgs e)
|
||||
{
|
||||
|
||||
// 如果这里设置Cancel = true,将终止登录
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
public void FailedLoginEvent(object sender, LoginEventArgs e)
|
@ -8,7 +8,7 @@ using Milimoe.FunGame.Core.Model;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
public abstract class GameMode : IGameMode
|
||||
public abstract class GameModule : IGameModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组名称
|
||||
@ -36,9 +36,9 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
public abstract string DefaultMap { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 模组所使用的地图
|
||||
/// 模组的依赖集合
|
||||
/// </summary>
|
||||
public abstract string[] Maps { get; }
|
||||
public abstract GameModuleDepend GameModuleDepend { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 适用的房间模式
|
||||
@ -48,26 +48,43 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
/// <summary>
|
||||
/// 包含了一些常用方法的控制器
|
||||
/// </summary>
|
||||
public AddonController Controller
|
||||
public AddonController<IGameModule> Controller
|
||||
{
|
||||
get => _Controller ?? throw new NotImplementedException();
|
||||
set => _Controller = value;
|
||||
internal set => _Controller = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// base控制器,没有DataRequest
|
||||
/// </summary>
|
||||
BaseAddonController<IGameModule> IAddonController<IGameModule>.Controller
|
||||
{
|
||||
get => Controller;
|
||||
set => _Controller = (AddonController<IGameModule>?)value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 控制器内部变量
|
||||
/// </summary>
|
||||
protected AddonController? _Controller;
|
||||
private AddonController<IGameModule>? _Controller;
|
||||
|
||||
/// <summary>
|
||||
/// 必须重写此方法,游戏的主要逻辑写在这里面<para/>
|
||||
/// 此方法会在 <see cref="Gaming.StartGame"/> 时调用<para/>
|
||||
/// </summary>
|
||||
/// <param name="instance"></param>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
public abstract void StartGame(Gaming instance, params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// 如模组有界面,请重写此方法
|
||||
/// 此方法会在StartGame时调用
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
public virtual bool StartUI(params object[] args)
|
||||
public virtual void StartUI(params object[] args)
|
||||
{
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -402,404 +419,404 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
public event IGamingEventHandler.SucceedEventHandler? SucceedGamingPunish;
|
||||
public event IGamingEventHandler.FailedEventHandler? FailedGamingPunish;
|
||||
|
||||
public void OnBeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingConnect?.Invoke(sender, e, data);
|
||||
BeforeGamingConnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingConnect?.Invoke(sender, e, data);
|
||||
AfterGamingConnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingConnect?.Invoke(sender, e, data);
|
||||
SucceedGamingConnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingConnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingConnect?.Invoke(sender, e, data);
|
||||
FailedGamingConnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingDisconnect?.Invoke(sender, e, data);
|
||||
BeforeGamingDisconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingDisconnect?.Invoke(sender, e, data);
|
||||
AfterGamingDisconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingDisconnect?.Invoke(sender, e, data);
|
||||
SucceedGamingDisconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingDisconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingDisconnect?.Invoke(sender, e, data);
|
||||
FailedGamingDisconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingReconnect?.Invoke(sender, e, data);
|
||||
BeforeGamingReconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingReconnect?.Invoke(sender, e, data);
|
||||
AfterGamingReconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingReconnect?.Invoke(sender, e, data);
|
||||
SucceedGamingReconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingReconnectEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingReconnect?.Invoke(sender, e, data);
|
||||
FailedGamingReconnect?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingBanCharacter?.Invoke(sender, e, data);
|
||||
BeforeGamingBanCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingBanCharacter?.Invoke(sender, e, data);
|
||||
AfterGamingBanCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingBanCharacter?.Invoke(sender, e, data);
|
||||
SucceedGamingBanCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingBanCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingBanCharacter?.Invoke(sender, e, data);
|
||||
FailedGamingBanCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingPickCharacter?.Invoke(sender, e, data);
|
||||
BeforeGamingPickCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingPickCharacter?.Invoke(sender, e, data);
|
||||
AfterGamingPickCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingPickCharacter?.Invoke(sender, e, data);
|
||||
SucceedGamingPickCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingPickCharacterEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingPickCharacter?.Invoke(sender, e, data);
|
||||
FailedGamingPickCharacter?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingRandom?.Invoke(sender, e, data);
|
||||
BeforeGamingRandom?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingRandom?.Invoke(sender, e, data);
|
||||
AfterGamingRandom?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingRandom?.Invoke(sender, e, data);
|
||||
SucceedGamingRandom?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingRandomEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingRandom?.Invoke(sender, e, data);
|
||||
FailedGamingRandom?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingRound?.Invoke(sender, e, data);
|
||||
BeforeGamingRound?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingRound?.Invoke(sender, e, data);
|
||||
AfterGamingRound?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingRound?.Invoke(sender, e, data);
|
||||
SucceedGamingRound?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingRoundEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingRound?.Invoke(sender, e, data);
|
||||
FailedGamingRound?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingLevelUp?.Invoke(sender, e, data);
|
||||
BeforeGamingLevelUp?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingLevelUp?.Invoke(sender, e, data);
|
||||
AfterGamingLevelUp?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingLevelUp?.Invoke(sender, e, data);
|
||||
SucceedGamingLevelUp?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingLevelUpEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingLevelUp?.Invoke(sender, e, data);
|
||||
FailedGamingLevelUp?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingMove?.Invoke(sender, e, data);
|
||||
BeforeGamingMove?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingMove?.Invoke(sender, e, data);
|
||||
AfterGamingMove?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingMove?.Invoke(sender, e, data);
|
||||
SucceedGamingMove?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingMoveEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingMove?.Invoke(sender, e, data);
|
||||
FailedGamingMove?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingAttack?.Invoke(sender, e, data);
|
||||
BeforeGamingAttack?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingAttack?.Invoke(sender, e, data);
|
||||
AfterGamingAttack?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingAttack?.Invoke(sender, e, data);
|
||||
SucceedGamingAttack?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingAttackEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingAttack?.Invoke(sender, e, data);
|
||||
FailedGamingAttack?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingSkill?.Invoke(sender, e, data);
|
||||
BeforeGamingSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingSkill?.Invoke(sender, e, data);
|
||||
AfterGamingSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingSkill?.Invoke(sender, e, data);
|
||||
SucceedGamingSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingSkill?.Invoke(sender, e, data);
|
||||
FailedGamingSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingItem?.Invoke(sender, e, data);
|
||||
BeforeGamingItem?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingItem?.Invoke(sender, e, data);
|
||||
AfterGamingItem?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingItem?.Invoke(sender, e, data);
|
||||
SucceedGamingItem?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingItemEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingItem?.Invoke(sender, e, data);
|
||||
FailedGamingItem?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingMagic?.Invoke(sender, e, data);
|
||||
BeforeGamingMagic?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingMagic?.Invoke(sender, e, data);
|
||||
AfterGamingMagic?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingMagic?.Invoke(sender, e, data);
|
||||
SucceedGamingMagic?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingMagicEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingMagic?.Invoke(sender, e, data);
|
||||
FailedGamingMagic?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingBuy?.Invoke(sender, e, data);
|
||||
BeforeGamingBuy?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingBuy?.Invoke(sender, e, data);
|
||||
AfterGamingBuy?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingBuy?.Invoke(sender, e, data);
|
||||
SucceedGamingBuy?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingBuyEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingBuy?.Invoke(sender, e, data);
|
||||
FailedGamingBuy?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingSuperSkill?.Invoke(sender, e, data);
|
||||
BeforeGamingSuperSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingSuperSkill?.Invoke(sender, e, data);
|
||||
AfterGamingSuperSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingSuperSkill?.Invoke(sender, e, data);
|
||||
SucceedGamingSuperSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingSuperSkillEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingSuperSkill?.Invoke(sender, e, data);
|
||||
FailedGamingSuperSkill?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingPause?.Invoke(sender, e, data);
|
||||
BeforeGamingPause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingPause?.Invoke(sender, e, data);
|
||||
AfterGamingPause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingPause?.Invoke(sender, e, data);
|
||||
SucceedGamingPause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingPauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingPause?.Invoke(sender, e, data);
|
||||
FailedGamingPause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingUnpause?.Invoke(sender, e, data);
|
||||
BeforeGamingUnpause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingUnpause?.Invoke(sender, e, data);
|
||||
AfterGamingUnpause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingUnpause?.Invoke(sender, e, data);
|
||||
SucceedGamingUnpause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingUnpauseEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingUnpause?.Invoke(sender, e, data);
|
||||
FailedGamingUnpause?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingSurrender?.Invoke(sender, e, data);
|
||||
BeforeGamingSurrender?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingSurrender?.Invoke(sender, e, data);
|
||||
AfterGamingSurrender?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingSurrender?.Invoke(sender, e, data);
|
||||
SucceedGamingSurrender?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingSurrenderEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingSurrender?.Invoke(sender, e, data);
|
||||
FailedGamingSurrender?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingUpdateInfo?.Invoke(sender, e, data);
|
||||
BeforeGamingUpdateInfo?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingUpdateInfo?.Invoke(sender, e, data);
|
||||
AfterGamingUpdateInfo?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingUpdateInfo?.Invoke(sender, e, data);
|
||||
SucceedGamingUpdateInfo?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingUpdateInfoEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingUpdateInfo?.Invoke(sender, e, data);
|
||||
FailedGamingUpdateInfo?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnBeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnBeforeGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
BeforeGamingPunish?.Invoke(sender, e, data);
|
||||
BeforeGamingPunish?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnAfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnAfterGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
AfterGamingPunish?.Invoke(sender, e, data);
|
||||
AfterGamingPunish?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnSucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnSucceedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
SucceedGamingPunish?.Invoke(sender, e, data);
|
||||
SucceedGamingPunish?.Invoke(sender, e, data, result);
|
||||
}
|
||||
|
||||
public void OnFailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data)
|
||||
public void OnFailedGamingPunishEvent(object sender, GamingEventArgs e, Hashtable data, Hashtable result)
|
||||
{
|
||||
FailedGamingPunish?.Invoke(sender, e, data);
|
||||
FailedGamingPunish?.Invoke(sender, e, data, result);
|
||||
}
|
||||
}
|
||||
}
|
28
Library/Common/Addon/GameModuleDepend.cs
Normal file
28
Library/Common/Addon/GameModuleDepend.cs
Normal file
@ -0,0 +1,28 @@
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组的依赖集合
|
||||
/// </summary>
|
||||
public readonly struct GameModuleDepend(string[] Maps, string[] Characters, string[] Items, string[] Skills)
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组所使用的地图组
|
||||
/// </summary>
|
||||
public string[] Maps { get; } = Maps;
|
||||
|
||||
/// <summary>
|
||||
/// 模组所使用的角色组
|
||||
/// </summary>
|
||||
public string[] Characters { get; } = Characters;
|
||||
|
||||
/// <summary>
|
||||
/// 模组所使用的物品组
|
||||
/// </summary>
|
||||
public string[] Items { get; } = Items;
|
||||
|
||||
/// <summary>
|
||||
/// 模组所使用的技能组
|
||||
/// </summary>
|
||||
public string[] Skills { get; } = Skills;
|
||||
}
|
||||
}
|
@ -7,7 +7,7 @@ using Milimoe.FunGame.Core.Library.Constant;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
public abstract class GameModeServer : IGameModeServer
|
||||
public abstract class GameModuleServer : IGameModuleServer
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组名称
|
||||
@ -35,14 +35,14 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
public abstract string DefaultMap { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 模组所使用的地图
|
||||
/// 模组的依赖集合
|
||||
/// </summary>
|
||||
public abstract string[] Maps { get; }
|
||||
public abstract GameModuleDepend GameModuleDepend { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 包含了一些常用方法的控制器
|
||||
/// </summary>
|
||||
public AddonController Controller
|
||||
public BaseAddonController<IGameModuleServer> Controller
|
||||
{
|
||||
get => _Controller ?? throw new NotImplementedException();
|
||||
set => _Controller = value;
|
||||
@ -51,19 +51,19 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
/// <summary>
|
||||
/// 控制器内部变量
|
||||
/// </summary>
|
||||
protected AddonController? _Controller;
|
||||
private BaseAddonController<IGameModuleServer>? _Controller;
|
||||
|
||||
/// <summary>
|
||||
/// 启动服务器监听 请在此处实现服务器逻辑
|
||||
/// </summary>
|
||||
/// <param name="GameMode"></param>
|
||||
/// <param name="GameModule"></param>
|
||||
/// <param name="Room"></param>
|
||||
/// <param name="Users"></param>
|
||||
/// <param name="RoomMasterServerModel"></param>
|
||||
/// <param name="OthersServerModel"></param>
|
||||
/// <param name="Args"></param>
|
||||
/// <returns></returns>
|
||||
public abstract bool StartServer(string GameMode, Room Room, List<User> Users, IServerModel RoomMasterServerModel, Dictionary<string, IServerModel> OthersServerModel, params object[] Args);
|
||||
public abstract bool StartServer(string GameModule, Room Room, List<User> Users, IServerModel RoomMasterServerModel, Dictionary<string, IServerModel> OthersServerModel, params object[] Args);
|
||||
|
||||
/// <summary>
|
||||
/// 接收并处理GamingMessage
|
@ -3,7 +3,7 @@ using Milimoe.FunGame.Core.Interface.Addons;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
public abstract class ItemMode : IAddon
|
||||
public abstract class ItemModule : IAddon
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组名称
|
@ -31,16 +31,25 @@ namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
/// <summary>
|
||||
/// 包含了一些常用方法的控制器
|
||||
/// </summary>
|
||||
public AddonController Controller
|
||||
public AddonController<IPlugin> Controller
|
||||
{
|
||||
get => _Controller ?? throw new NotImplementedException();
|
||||
set => _Controller = value;
|
||||
internal set => _Controller = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// base控制器,没有DataRequest
|
||||
/// </summary>
|
||||
BaseAddonController<IPlugin> IAddonController<IPlugin>.Controller
|
||||
{
|
||||
get => Controller;
|
||||
set => _Controller = (AddonController<IPlugin>?)value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 控制器内部变量
|
||||
/// </summary>
|
||||
protected AddonController? _Controller;
|
||||
private AddonController<IPlugin>? _Controller;
|
||||
|
||||
/// <summary>
|
||||
/// 加载标记
|
||||
|
@ -3,7 +3,7 @@ using Milimoe.FunGame.Core.Interface.Addons;
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Addon
|
||||
{
|
||||
public abstract class SkillMode : IAddon
|
||||
public abstract class SkillModule : IAddon
|
||||
{
|
||||
/// <summary>
|
||||
/// 模组名称
|
@ -2,10 +2,10 @@
|
||||
|
||||
namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
{
|
||||
public class GamingEventArgs(Room room, List<User> users, List<Character> characters) : GeneralEventArgs
|
||||
public class GamingEventArgs(Room room, List<User> users, Dictionary<string, Character>? characters = null) : GeneralEventArgs
|
||||
{
|
||||
public Room Room { get; } = room;
|
||||
public List<User> Users { get; } = users;
|
||||
public List<Character> Characters { get; } = characters;
|
||||
public Dictionary<string, Character> Characters { get; } = characters ?? [];
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
public long RoomMaster { get; set; } = 0;
|
||||
public RoomType RoomType { get; set; } = RoomType.All;
|
||||
public string RoomTypeString { get; set; } = RoomSet.All;
|
||||
public string GameMode { get; set; } = "";
|
||||
public string GameModule { get; set; } = "";
|
||||
public string GameMap { get; set; } = "";
|
||||
public RoomState RoomState { get; set; } = RoomState.Created;
|
||||
public bool HasPassword => Password.Trim() != "";
|
||||
@ -31,7 +31,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Event
|
||||
RoomID = room.Roomid;
|
||||
RoomMaster = room.RoomMaster != null ? room.RoomMaster.Id : 0;
|
||||
RoomType = room.RoomType;
|
||||
GameMode = room.GameMode;
|
||||
GameModule = room.GameModule;
|
||||
GameMap = room.GameMap;
|
||||
RoomTypeString = room.RoomType switch
|
||||
{
|
||||
|
@ -54,8 +54,8 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
||||
room.RoomType = (RoomType)reader.GetInt64();
|
||||
break;
|
||||
|
||||
case RoomQuery.Column_GameMode:
|
||||
room.GameMode = reader.GetString() ?? "";
|
||||
case RoomQuery.Column_GameModule:
|
||||
room.GameModule = reader.GetString() ?? "";
|
||||
break;
|
||||
|
||||
case RoomQuery.Column_GameMap:
|
||||
@ -88,7 +88,7 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter
|
||||
writer.WriteString(RoomQuery.Column_RoomID, value.Roomid);
|
||||
writer.WriteString(RoomQuery.Column_CreateTime, value.CreateTime.ToString(General.GeneralDateTimeFormat));
|
||||
writer.WriteString(RoomQuery.Column_RoomMaster, JsonSerializer.Serialize(value.RoomMaster, typeof(User), options));
|
||||
writer.WriteString(RoomQuery.Column_GameMode, value.GameMode);
|
||||
writer.WriteString(RoomQuery.Column_GameModule, value.GameModule);
|
||||
writer.WriteString(RoomQuery.Column_GameMap, value.GameMap);
|
||||
writer.WriteNumber(RoomQuery.Column_RoomType, (long)value.RoomType);
|
||||
writer.WriteNumber(RoomQuery.Column_RoomState, (long)value.RoomState);
|
||||
|
@ -19,7 +19,7 @@ namespace Milimoe.FunGame.Core.Library.Constant
|
||||
public const string RemoteServerIP = "RemoteServerIP";
|
||||
public const string DBConnection = "DBConnection";
|
||||
public const string GetServerSettings = "GetServerSettings";
|
||||
public const string GameModeList = "GameModeList";
|
||||
public const string GameModuleList = "GameModuleList";
|
||||
public const string GameMapList = "GameMapList";
|
||||
}
|
||||
}
|
||||
@ -215,7 +215,7 @@ namespace Milimoe.FunGame.Core.Library.Constant
|
||||
public const string FUNGAME_IMPL = "FunGame.Implement";
|
||||
public static string EXEFolderPath { get; } = AppDomain.CurrentDomain.BaseDirectory; // 程序目录
|
||||
public static string PluginFolderPath { get; } = AppDomain.CurrentDomain.BaseDirectory + @"plugins\"; // 插件目录
|
||||
public static string GameModeFolderPath { get; } = AppDomain.CurrentDomain.BaseDirectory + @"gamemods\"; // 游戏模组目录
|
||||
public static string GameModuleFolderPath { get; } = AppDomain.CurrentDomain.BaseDirectory + @"modules\"; // 游戏模组目录
|
||||
public static string GameMapFolderPath { get; } = AppDomain.CurrentDomain.BaseDirectory + @"maps\"; // 游戏地图目录
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
FunGame.FunGame_Server => FunGame_Server,
|
||||
_ => ""
|
||||
};
|
||||
return type + " [版本: " + FunGame_Version + FunGame_VersionPatch + "]\n" + (type.Equals(FunGame_Desktop) ? @"©" : "(C)") + "2023 Milimoe. 保留所有权利\n";
|
||||
return type + " [版本: " + FunGame_Version + FunGame_VersionPatch + "]\n" + (type.Equals(FunGame_Desktop) ? @"©" : "(C)") + "2024 Milimoe. 保留所有权利\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ namespace Milimoe.FunGame.Core.Library.Constant
|
||||
RemoteServerIP,
|
||||
DBConnection,
|
||||
GetServerSettings,
|
||||
GameModeList,
|
||||
GameModuleList,
|
||||
GameMapList
|
||||
}
|
||||
}
|
||||
|
@ -407,6 +407,6 @@ namespace Milimoe.FunGame.Core.Library.Constant
|
||||
Interface,
|
||||
DataRequest,
|
||||
Plugin,
|
||||
GameMode
|
||||
GameModule
|
||||
}
|
||||
}
|
||||
|
@ -159,4 +159,9 @@
|
||||
{
|
||||
public override string Message => "构造对象实例遇到错误 (#10032)";
|
||||
}
|
||||
|
||||
public class ModuleServerNewDataRequestException : Exception
|
||||
{
|
||||
public override string Message => "试图在GameModuleServer类中创建数据请求 (#10033)";
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
public const string Column_RoomMaster = "RoomMaster";
|
||||
public const string Column_RoomMasterName = "RoomMasterName";
|
||||
public const string Column_RoomType = "RoomType";
|
||||
public const string Column_GameMode = "GameMode";
|
||||
public const string Column_GameModule = "GameModule";
|
||||
public const string Column_GameMap = "GameMap";
|
||||
public const string Column_RoomState = "RoomState";
|
||||
public const string Column_IsRank = "IsRank";
|
||||
@ -18,13 +18,13 @@
|
||||
public const string Select_Rooms = $"{Command_Select} {TableName}.{Command_All}, {UserQuery.TableName}.{UserQuery.Column_Username} {Command_As} {Column_RoomMasterName} " +
|
||||
$"{Command_From} {TableName} {Command_LeftJoin} {UserQuery.TableName} {Command_On} {UserQuery.TableName}.{UserQuery.Column_UID} = {TableName}.{Column_RoomMaster}";
|
||||
|
||||
public static string Insert_CreateRoom(string RoomID, long RoomMaster, Library.Constant.RoomType RoomType, string GameMode, string GameMap, bool IsRank, string Password)
|
||||
public static string Insert_CreateRoom(string RoomID, long RoomMaster, Library.Constant.RoomType RoomType, string GameModule, string GameMap, bool IsRank, string Password)
|
||||
{
|
||||
Library.Constant.RoomState RoomState = Library.Constant.RoomState.Created;
|
||||
DateTime NowTime = DateTime.Now;
|
||||
bool HasPass = Password.Trim() != "";
|
||||
return $"{Command_Insert} {Command_Into} {TableName} ({Column_RoomID}, {Column_CreateTime}, {Column_RoomMaster}, {Column_RoomType}, {Column_GameMode}, {Column_GameMap}, {Column_RoomState}, {Column_IsRank}, {Column_HasPass}, {Column_Password})" +
|
||||
$" {Command_Values} ('{RoomID}', '{NowTime}', {RoomMaster}, {(int)RoomType}, '{GameMode}', '{GameMap}', {(int)RoomState}, {(IsRank ? 1 : 0)}, {(HasPass ? 1 : 0)}, '{Password}')";
|
||||
return $"{Command_Insert} {Command_Into} {TableName} ({Column_RoomID}, {Column_CreateTime}, {Column_RoomMaster}, {Column_RoomType}, {Column_GameModule}, {Column_GameMap}, {Column_RoomState}, {Column_IsRank}, {Column_HasPass}, {Column_Password})" +
|
||||
$" {Command_Values} ('{RoomID}', '{NowTime}', {RoomMaster}, {(int)RoomType}, '{GameModule}', '{GameMap}', {(int)RoomState}, {(IsRank ? 1 : 0)}, {(HasPass ? 1 : 0)}, '{Password}')";
|
||||
}
|
||||
|
||||
public static string Delete_Rooms(params string[] roomids)
|
||||
|
291
Model/Gaming.cs
291
Model/Gaming.cs
@ -13,474 +13,481 @@ namespace Milimoe.FunGame.Core.Model
|
||||
/// </summary>
|
||||
public class Gaming
|
||||
{
|
||||
private readonly GameMode GameMode;
|
||||
private readonly Room Room;
|
||||
private readonly List<User> Users;
|
||||
private readonly List<Character> Characters;
|
||||
private readonly GamingEventArgs EventArgs;
|
||||
/// <summary>
|
||||
/// 使用的模组实例
|
||||
/// </summary>
|
||||
public GameModule GameModule { get; }
|
||||
|
||||
private Gaming(GameMode GameMode, Room Room, List<User> Users)
|
||||
/// <summary>
|
||||
/// 游戏的参数
|
||||
/// </summary>
|
||||
public GamingEventArgs EventArgs { get; }
|
||||
|
||||
private Gaming(GameModule module, Room room, List<User> users)
|
||||
{
|
||||
this.GameMode = GameMode;
|
||||
this.Room = Room;
|
||||
this.Users = Users;
|
||||
Characters = [];
|
||||
EventArgs = new(Room, Users, Characters);
|
||||
GameModule = module;
|
||||
EventArgs = new(room, users);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 传入游戏所需的参数,构造一个Gaming实例
|
||||
/// </summary>
|
||||
/// <param name="GameMode"></param>
|
||||
/// <param name="Room"></param>
|
||||
/// <param name="Users"></param>
|
||||
/// <param name="module"></param>
|
||||
/// <param name="room"></param>
|
||||
/// <param name="users"></param>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
public static Gaming StartGame(GameMode GameMode, Room Room, List<User> Users)
|
||||
public static Gaming StartGame(GameModule module, Room room, List<User> users, params object[] args)
|
||||
{
|
||||
Gaming instance = new(GameMode, Room, Users);
|
||||
Gaming instance = new(module, room, users);
|
||||
// 新建线程来启动模组的界面
|
||||
TaskUtility.NewTask(() =>
|
||||
{
|
||||
GameMode.StartUI(instance.EventArgs);
|
||||
module.StartUI();
|
||||
});
|
||||
// 启动模组主线程
|
||||
module.StartGame(instance, args);
|
||||
return instance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 需在RunTimeController的SocketHandler_Gaming方法中调用此方法
|
||||
/// <para>客户端也可以参照此方法自行实现</para>
|
||||
/// <para>此方法目的是为了触发 <see cref="Library.Common.Addon.GameMode"/> 的局内事件实现</para>
|
||||
/// <para>此方法目的是为了触发 <see cref="Library.Common.Addon.GameModule"/> 的局内事件实现</para>
|
||||
/// </summary>
|
||||
/// <param name="GamingType"></param>
|
||||
/// <param name="Data"></param>
|
||||
public void GamingHandler(GamingType GamingType, Hashtable Data)
|
||||
/// <param name="type">消息类型</param>
|
||||
/// <param name="data">接收到的数据</param>
|
||||
/// <returns>底层会将哈希表中的数据发送给服务器</returns>
|
||||
public Hashtable GamingHandler(GamingType type, Hashtable data)
|
||||
{
|
||||
switch (GamingType)
|
||||
Hashtable result = [];
|
||||
switch (type)
|
||||
{
|
||||
case GamingType.Connect:
|
||||
Connect(Data);
|
||||
Connect(data, result);
|
||||
break;
|
||||
case GamingType.Disconnect:
|
||||
Disconnect(Data);
|
||||
Disconnect(data, result);
|
||||
break;
|
||||
case GamingType.Reconnect:
|
||||
Reconnect(Data);
|
||||
Reconnect(data, result);
|
||||
break;
|
||||
case GamingType.BanCharacter:
|
||||
BanCharacter(Data);
|
||||
BanCharacter(data, result);
|
||||
break;
|
||||
case GamingType.PickCharacter:
|
||||
PickCharacter(Data);
|
||||
PickCharacter(data, result);
|
||||
break;
|
||||
case GamingType.Random:
|
||||
Random(Data);
|
||||
Random(data, result);
|
||||
break;
|
||||
case GamingType.Round:
|
||||
Round(Data);
|
||||
Round(data, result);
|
||||
break;
|
||||
case GamingType.LevelUp:
|
||||
LevelUp(Data);
|
||||
LevelUp(data, result);
|
||||
break;
|
||||
case GamingType.Move:
|
||||
Move(Data);
|
||||
Move(data, result);
|
||||
break;
|
||||
case GamingType.Attack:
|
||||
Attack(Data);
|
||||
Attack(data, result);
|
||||
break;
|
||||
case GamingType.Skill:
|
||||
Skill(Data);
|
||||
Skill(data, result);
|
||||
break;
|
||||
case GamingType.Item:
|
||||
Item(Data);
|
||||
Item(data, result);
|
||||
break;
|
||||
case GamingType.Magic:
|
||||
Magic(Data);
|
||||
Magic(data, result);
|
||||
break;
|
||||
case GamingType.Buy:
|
||||
Buy(Data);
|
||||
Buy(data, result);
|
||||
break;
|
||||
case GamingType.SuperSkill:
|
||||
SuperSkill(Data);
|
||||
SuperSkill(data, result);
|
||||
break;
|
||||
case GamingType.Pause:
|
||||
Pause(Data);
|
||||
Pause(data, result);
|
||||
break;
|
||||
case GamingType.Unpause:
|
||||
Unpause(Data);
|
||||
Unpause(data, result);
|
||||
break;
|
||||
case GamingType.Surrender:
|
||||
Surrender(Data);
|
||||
Surrender(data, result);
|
||||
break;
|
||||
case GamingType.UpdateInfo:
|
||||
UpdateInfo(Data);
|
||||
UpdateInfo(data, result);
|
||||
break;
|
||||
case GamingType.Punish:
|
||||
Punish(Data);
|
||||
Punish(data, result);
|
||||
break;
|
||||
case GamingType.None:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void Connect(Hashtable data)
|
||||
private void Connect(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingConnectEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingConnectEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingConnectEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingConnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingConnectEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingConnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingConnectEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingConnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Disconnect(Hashtable data)
|
||||
private void Disconnect(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingDisconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingDisconnectEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingDisconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingDisconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingDisconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingDisconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingDisconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingDisconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Reconnect(Hashtable data)
|
||||
private void Reconnect(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingReconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingReconnectEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingReconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingReconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingReconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingReconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingReconnectEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingReconnectEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void BanCharacter(Hashtable data)
|
||||
private void BanCharacter(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingBanCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingBanCharacterEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingBanCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingBanCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingBanCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingBanCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingBanCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingBanCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void PickCharacter(Hashtable data)
|
||||
private void PickCharacter(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingPickCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingPickCharacterEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingPickCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingPickCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingPickCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingPickCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingPickCharacterEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingPickCharacterEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Random(Hashtable data)
|
||||
private void Random(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingRandomEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingRandomEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingRandomEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingRandomEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingRandomEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingRandomEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingRandomEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingRandomEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Round(Hashtable data)
|
||||
private void Round(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingRoundEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingRoundEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingRoundEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingRoundEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingRoundEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingRoundEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingRoundEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingRoundEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void LevelUp(Hashtable data)
|
||||
private void LevelUp(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingLevelUpEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingLevelUpEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingLevelUpEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingLevelUpEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingLevelUpEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingLevelUpEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingLevelUpEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingLevelUpEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Move(Hashtable data)
|
||||
private void Move(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingMoveEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingMoveEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingMoveEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingMoveEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingMoveEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingMoveEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingMoveEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingMoveEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Attack(Hashtable data)
|
||||
private void Attack(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingAttackEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingAttackEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingAttackEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingAttackEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingAttackEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingAttackEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingAttackEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingAttackEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Skill(Hashtable data)
|
||||
private void Skill(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingSkillEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Item(Hashtable data)
|
||||
private void Item(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingItemEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingItemEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingItemEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingItemEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingItemEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingItemEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingItemEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingItemEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Magic(Hashtable data)
|
||||
private void Magic(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingMagicEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingMagicEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingMagicEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingMagicEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingMagicEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingMagicEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingMagicEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingMagicEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Buy(Hashtable data)
|
||||
private void Buy(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingBuyEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingBuyEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingBuyEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingBuyEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingBuyEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingBuyEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingBuyEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingBuyEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void SuperSkill(Hashtable data)
|
||||
private void SuperSkill(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingSuperSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingSuperSkillEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingSuperSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingSuperSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingSuperSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingSuperSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingSuperSkillEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingSuperSkillEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Pause(Hashtable data)
|
||||
private void Pause(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingPauseEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingPauseEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingPauseEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingPauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingPauseEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingPauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingPauseEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingPauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Unpause(Hashtable data)
|
||||
private void Unpause(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingUnpauseEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingUnpauseEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingUnpauseEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingUnpauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingUnpauseEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingUnpauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingUnpauseEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingUnpauseEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Surrender(Hashtable data)
|
||||
private void Surrender(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingSurrenderEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingSurrenderEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingSurrenderEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingSurrenderEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingSurrenderEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingSurrenderEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingSurrenderEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingSurrenderEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void UpdateInfo(Hashtable data)
|
||||
private void UpdateInfo(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingUpdateInfoEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingUpdateInfoEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingUpdateInfoEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingUpdateInfoEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingUpdateInfoEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingUpdateInfoEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingUpdateInfoEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingUpdateInfoEvent(this, EventArgs, data, result);
|
||||
}
|
||||
|
||||
private void Punish(Hashtable data)
|
||||
private void Punish(Hashtable data, Hashtable result)
|
||||
{
|
||||
GameMode.OnBeforeGamingPunishEvent(this, EventArgs, data);
|
||||
GameModule.OnBeforeGamingPunishEvent(this, EventArgs, data, result);
|
||||
if (EventArgs.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!EventArgs.Cancel)
|
||||
{
|
||||
GameMode.OnSucceedGamingPunishEvent(this, EventArgs, data);
|
||||
GameModule.OnSucceedGamingPunishEvent(this, EventArgs, data, result);
|
||||
}
|
||||
else
|
||||
{
|
||||
GameMode.OnFailedGamingPunishEvent(this, EventArgs, data);
|
||||
GameModule.OnFailedGamingPunishEvent(this, EventArgs, data, result);
|
||||
}
|
||||
GameMode.OnAfterGamingPunishEvent(this, EventArgs, data);
|
||||
GameModule.OnAfterGamingPunishEvent(this, EventArgs, data, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -42,32 +42,32 @@ namespace Milimoe.FunGame.Core.Service
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从gamemodes目录加载所有模组
|
||||
/// 从modules目录加载所有模组
|
||||
/// </summary>
|
||||
/// <param name="gamemodes"></param>
|
||||
/// <param name="modules"></param>
|
||||
/// <param name="characters"></param>
|
||||
/// <param name="skills"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <param name="delegates"></param>
|
||||
/// <param name="otherobjs"></param>
|
||||
/// <returns></returns>
|
||||
internal static Dictionary<string, GameMode> LoadGameModes(Dictionary<string, GameMode> gamemodes, List<Character> characters, List<Skill> skills, List<Item> items, Hashtable delegates, params object[] otherobjs)
|
||||
internal static Dictionary<string, GameModule> LoadGameModules(Dictionary<string, GameModule> modules, List<Character> characters, List<Skill> skills, List<Item> items, Hashtable delegates, params object[] otherobjs)
|
||||
{
|
||||
if (!Directory.Exists(ReflectionSet.GameModeFolderPath)) return gamemodes;
|
||||
if (!Directory.Exists(ReflectionSet.GameModuleFolderPath)) return modules;
|
||||
|
||||
string[] dlls = Directory.GetFiles(ReflectionSet.GameModeFolderPath, "*.dll");
|
||||
string[] dlls = Directory.GetFiles(ReflectionSet.GameModuleFolderPath, "*.dll");
|
||||
|
||||
foreach (string dll in dlls)
|
||||
{
|
||||
Assembly assembly = Assembly.LoadFrom(dll);
|
||||
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(GameMode))))
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(GameModule))))
|
||||
{
|
||||
GameMode? instance = (GameMode?)Activator.CreateInstance(type);
|
||||
GameModule? instance = (GameModule?)Activator.CreateInstance(type);
|
||||
if (instance != null && instance.Load(otherobjs) && instance.Name.Trim() != "")
|
||||
{
|
||||
instance.Controller = new(instance, delegates);
|
||||
gamemodes.TryAdd(instance.Name, instance);
|
||||
modules.TryAdd(instance.Name, instance);
|
||||
}
|
||||
}
|
||||
|
||||
@ -99,36 +99,36 @@ namespace Milimoe.FunGame.Core.Service
|
||||
}
|
||||
}
|
||||
|
||||
return gamemodes;
|
||||
return modules;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从gamemodes目录加载所有适用于服务器的模组
|
||||
/// 从modules目录加载所有适用于服务器的模组
|
||||
/// </summary>
|
||||
/// <param name="gamemodes"></param>
|
||||
/// <param name="modules"></param>
|
||||
/// <param name="characters"></param>
|
||||
/// <param name="skills"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <param name="delegates"></param>
|
||||
/// <param name="otherobjs"></param>
|
||||
/// <returns></returns>
|
||||
internal static Dictionary<string, GameModeServer> LoadGameModesForServer(Dictionary<string, GameModeServer> gamemodes, List<Character> characters, List<Skill> skills, List<Item> items, Hashtable delegates, params object[] otherobjs)
|
||||
internal static Dictionary<string, GameModuleServer> LoadGameModulesForServer(Dictionary<string, GameModuleServer> modules, List<Character> characters, List<Skill> skills, List<Item> items, Hashtable delegates, params object[] otherobjs)
|
||||
{
|
||||
if (!Directory.Exists(ReflectionSet.GameModeFolderPath)) return gamemodes;
|
||||
if (!Directory.Exists(ReflectionSet.GameModuleFolderPath)) return modules;
|
||||
|
||||
string[] dlls = Directory.GetFiles(ReflectionSet.GameModeFolderPath, "*.dll");
|
||||
string[] dlls = Directory.GetFiles(ReflectionSet.GameModuleFolderPath, "*.dll");
|
||||
|
||||
foreach (string dll in dlls)
|
||||
{
|
||||
Assembly assembly = Assembly.LoadFrom(dll);
|
||||
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(GameModeServer))))
|
||||
foreach (Type type in assembly.GetTypes().AsEnumerable().Where(type => type.IsSubclassOf(typeof(GameModuleServer))))
|
||||
{
|
||||
GameModeServer? instance = (GameModeServer?)Activator.CreateInstance(type);
|
||||
GameModuleServer? instance = (GameModuleServer?)Activator.CreateInstance(type);
|
||||
if (instance != null && instance.Load(otherobjs) && instance.Name.Trim() != "")
|
||||
{
|
||||
instance.Controller = new(instance, delegates);
|
||||
gamemodes.TryAdd(instance.Name, instance);
|
||||
modules.TryAdd(instance.Name, instance);
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,18 +160,18 @@ namespace Milimoe.FunGame.Core.Service
|
||||
}
|
||||
}
|
||||
|
||||
return gamemodes;
|
||||
return modules;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从gamemaps目录加载所有地图
|
||||
/// 从maps目录加载所有地图
|
||||
/// </summary>
|
||||
/// <param name="gamemaps"></param>
|
||||
/// <param name="maps"></param>
|
||||
/// <param name="objs"></param>
|
||||
/// <returns></returns>
|
||||
internal static Dictionary<string, GameMap> LoadGameMaps(Dictionary<string, GameMap> gamemaps, params object[] objs)
|
||||
internal static Dictionary<string, GameMap> LoadGameMaps(Dictionary<string, GameMap> maps, params object[] objs)
|
||||
{
|
||||
if (!Directory.Exists(ReflectionSet.GameMapFolderPath)) return gamemaps;
|
||||
if (!Directory.Exists(ReflectionSet.GameMapFolderPath)) return maps;
|
||||
|
||||
string[] dlls = Directory.GetFiles(ReflectionSet.GameMapFolderPath, "*.dll");
|
||||
|
||||
@ -184,12 +184,12 @@ namespace Milimoe.FunGame.Core.Service
|
||||
GameMap? instance = (GameMap?)Activator.CreateInstance(type);
|
||||
if (instance != null && instance.Load(objs) && instance.Name.Trim() != "")
|
||||
{
|
||||
gamemaps.TryAdd(instance.Name, instance);
|
||||
maps.TryAdd(instance.Name, instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return gamemaps;
|
||||
return maps;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user