using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
namespace ET.Server
{
///
/// 向战斗服发送特定消息(触发编辑器事件)
///
[MessageHandler(SceneType.Game)]
public class C2G_BattleNotifyHandler : AMRpcHandler
{
protected override async ETTask Run(Session session, C2G_BattleNotify request, G2C_BattleNotify response, Action reply)
{
WNPlayer player = session.GetComponent().GetMyPlayer();
if (player == null)
{
Log.Debug($"操作错误, player is null");
response.Error = ErrorCode.ERR_OperationError;
reply();
return;
}
// 判断参数
if (string.IsNullOrEmpty(request.Message))
{
Log.Debug($"参数错误, request.NameType={request.Message}");
response.Error = ErrorCode.ERR_ParameterError;
reply();
return;
}
// 通知战斗服
player.GetXmdsManager().notifyBattleServer(player.Map.Id.ToString(), NotifyBSName.TriggerEvent, JsonSerializer.Serialize(new Struct.TriggerEventNotify() { message = request.Message }));
reply();
await ETTask.CompletedTask;
}
}
}