Files
Kg.SeaTime/Service/Application.Domain/BusEvents/BusEventsSubscriber.cs
2026-07-16 12:48:31 +08:00

126 lines
5.4 KiB
C#

namespace Application.Domain
{
public class BusEventsSubscriber : IEventSubscriber
{
/// <summary>
/// 处理战斗结束相关(含奖励发放)
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.PutFightAward, NumRetries = 0,RetryTimeout = 999999999)]
public async Task PutFightAward(EventHandlerExecutingContext context)
{
var data = context.GetPayload<game_fight_data>();
var fightService = App.GetService<IGameFightService>();
await fightService.HandleFight(data);
}
/// <summary>
/// 发放挂机奖励
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.PutOnHookAward, NumRetries = 0,RetryTimeout = 999999999)]
public async Task PutOnHookAward(EventHandlerExecutingContext context)
{
var data = context.GetPayload<OnHookAwardModel>();
var hookService = App.GetService<IOnHookService>();
await hookService.HandleOnHookGoods(data);
}
/// <summary>
/// 处理挂机
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleOnHook, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleOnHook(EventHandlerExecutingContext context)
{
var hookService = App.GetService<IOnHookService>();
await hookService.HandleHook();
}
/// <summary>
/// 处理排行榜
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleUpdateRank, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleUpdateRank(EventHandlerExecutingContext context)
{
var rankService = App.GetService<IRankService>();
await rankService.HandleRank();
}
/// <summary>
/// 处理在线时间
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleOnlineTime, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleOnlineTime(EventHandlerExecutingContext context)
{
var attrService = App.GetService<IUnitUserAttrService>();
await attrService.HandleOnLineTimeData();
}
/// <summary>
/// 处理生成的怪物
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleCreateMonster, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleCreateMonster(EventHandlerExecutingContext context)
{
var monsterService = App.GetService<IGameMonsterService>();
await monsterService.HandleCreateMonster();
}
/// <summary>
/// 处理战斗日志记录
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleFightData, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleFightData(EventHandlerExecutingContext context)
{
var fightService = App.GetService<IGameFightService>();
await fightService.HandleFightData();
}
/// <summary>
/// 处理兑换记录
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleExchangeData, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleExchangeData(EventHandlerExecutingContext context)
{
var exchangeService = App.GetService<IExchangeService>();
await exchangeService.HandleExchangeLogData();
}
/// <summary>
/// 处理任务日志
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleTaskLog, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleTaskLog(EventHandlerExecutingContext context)
{
var taskService = App.GetService<IGameTaskService>();
await taskService.HandleUserTaskLog();
}
/// <summary>
/// 处理角色任务
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandelTaskUser, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandelTaskUser(EventHandlerExecutingContext context)
{
var taskService = App.GetService<IGameTaskService>();
await taskService.HandleUserTask();
}
/// <summary>
/// 清理频道信息
/// </summary>
/// <param name="context"></param>
[EventSubscribe(BusEventsEnum.BusEventsName.HandleClearChat, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleClearChat(EventHandlerExecutingContext context)
{
var chatService = App.GetService<IGameChatService>();
await chatService.ClearChat();
}
[EventSubscribe(BusEventsEnum.BusEventsName.HandleMessageData, NumRetries = 0,RetryTimeout = 999999999)]
public async Task HandleMessageData(EventHandlerExecutingContext context)
{
var messageService = App.GetService<IMessageService>();
await messageService.HandleMessageData();
}
}
}