mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-23 04:29:38 +08:00
新的AddonController构造方法 (#32)
This commit is contained in:
parent
9c1bf43fdf
commit
c66b25c21d
@ -1,4 +1,5 @@
|
|||||||
using Milimoe.FunGame;
|
using System.Collections;
|
||||||
|
using Milimoe.FunGame;
|
||||||
using Milimoe.FunGame.Core.Api.Utility;
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Addon;
|
using Milimoe.FunGame.Core.Library.Common.Addon;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Network;
|
using Milimoe.FunGame.Core.Library.Common.Network;
|
||||||
@ -156,7 +157,12 @@ bool GetGameModeList()
|
|||||||
{
|
{
|
||||||
// 同时读取Implement预设的模组和gamemods目录下的模组,最后合成一个总的列表
|
// 同时读取Implement预设的模组和gamemods目录下的模组,最后合成一个总的列表
|
||||||
List<string> supported = [];
|
List<string> supported = [];
|
||||||
Config.GameModeLoader = GameModeLoader.LoadGameModes(Config.FunGameType, [new Action<string>(msg => ServerHelper.WriteLine(msg, InvokeMessageType.GameMode))]);
|
// 构建AddonController
|
||||||
|
Hashtable delegates = [];
|
||||||
|
delegates.Add("WriteLine", new Action<string>(msg => ServerHelper.WriteLine(msg, InvokeMessageType.GameMode)));
|
||||||
|
delegates.Add("Error", new Action<Exception>(ServerHelper.Error));
|
||||||
|
// 开始读取
|
||||||
|
Config.GameModeLoader = GameModeLoader.LoadGameModes(Config.FunGameType, delegates);
|
||||||
string[] mods = (string[]?)Implement.GetFunGameImplValue(InterfaceType.IServer, InterfaceMethod.GameModeList, false) ?? [];
|
string[] mods = (string[]?)Implement.GetFunGameImplValue(InterfaceType.IServer, InterfaceMethod.GameModeList, false) ?? [];
|
||||||
if (mods.Length > 0)
|
if (mods.Length > 0)
|
||||||
{
|
{
|
||||||
|
@ -387,7 +387,7 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
{
|
{
|
||||||
NowGamingServer = Config.GameModeLoader.GetServerMode(room.GameMode);
|
NowGamingServer = Config.GameModeLoader.GetServerMode(room.GameMode);
|
||||||
Dictionary<string, IServerModel> others = Server.UserList.Cast<IServerModel>().Where(model => usernames.Contains(model.User.Username) && model.User.Username != UserName).ToDictionary(k => k.User.Username, v => v);
|
Dictionary<string, IServerModel> others = Server.UserList.Cast<IServerModel>().Where(model => usernames.Contains(model.User.Username) && model.User.Username != UserName).ToDictionary(k => k.User.Username, v => v);
|
||||||
if (NowGamingServer.StartServer(room.GameMode, room, users, this, others, new Action<string>(msg => ServerHelper.WriteLine(msg))))
|
if (NowGamingServer.StartServer(room.GameMode, room, users, this, others))
|
||||||
{
|
{
|
||||||
foreach (ServerModel serverTask in Server.UserList.Cast<ServerModel>().Where(model => usernames.Contains(model.User.Username)))
|
foreach (ServerModel serverTask in Server.UserList.Cast<ServerModel>().Where(model => usernames.Contains(model.User.Username)))
|
||||||
{
|
{
|
||||||
|
@ -11,11 +11,11 @@ namespace Milimoe.FunGame.Server.Utility
|
|||||||
{
|
{
|
||||||
public static string GetPrefix(InvokeMessageType type)
|
public static string GetPrefix(InvokeMessageType type)
|
||||||
{
|
{
|
||||||
string prefix = "";
|
string prefix;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case InvokeMessageType.Core:
|
case InvokeMessageType.Core:
|
||||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||||
prefix = "[Core] ";
|
prefix = "[Core] ";
|
||||||
break;
|
break;
|
||||||
case InvokeMessageType.Error:
|
case InvokeMessageType.Error:
|
||||||
@ -31,7 +31,7 @@ namespace Milimoe.FunGame.Server.Utility
|
|||||||
prefix = "[Interface] ";
|
prefix = "[Interface] ";
|
||||||
break;
|
break;
|
||||||
case InvokeMessageType.DataRequest:
|
case InvokeMessageType.DataRequest:
|
||||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
Console.ForegroundColor = ConsoleColor.Green;
|
||||||
prefix = "[DataRequest] ";
|
prefix = "[DataRequest] ";
|
||||||
break;
|
break;
|
||||||
case InvokeMessageType.Plugin:
|
case InvokeMessageType.Plugin:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user