mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-05-27 10:15:50 +08:00
49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using System.Drawing;
|
|
using BetterGenshinImpact.Core.Config;
|
|
using BetterGenshinImpact.Core.Script.Group;
|
|
using BetterGenshinImpact.GameTask.AutoDomain;
|
|
using BetterGenshinImpact.GameTask.AutoGeniusInvokation.Model;
|
|
using BetterGenshinImpact.GameTask.Common;
|
|
using BetterGenshinImpact.Service.Notification.Builder;
|
|
using BetterGenshinImpact.Service.Notification.Model;
|
|
using BetterGenshinImpact.Service.Notification.Model.Base;
|
|
using BetterGenshinImpact.Service.Notification.Model.Enum;
|
|
|
|
namespace BetterGenshinImpact.Service.Notification;
|
|
|
|
public class NotificationHelper
|
|
{
|
|
public static void Notify(INotificationData notificationData)
|
|
{
|
|
if (NotificationService.Instance().Config.NotificationConfig.IncludeScreenShot)// TODO: 这个获取方式是否合理?
|
|
{
|
|
var screenShot = (Bitmap)TaskControl.CaptureToRectArea().SrcBitmap.Clone();
|
|
notificationData.Screenshot = screenShot;
|
|
}
|
|
NotificationService.Instance().NotifyAllNotifiers(notificationData);
|
|
}
|
|
}
|
|
|
|
public class NotificationBuilderFactory
|
|
{
|
|
public static ScriptNotificationBuilder CreateWith(ScriptGroupProject script)
|
|
{
|
|
return new ScriptNotificationBuilder().WithEvent(NotificationEvent.Script).WithScript(script);
|
|
}
|
|
|
|
public static TaskNotificationBuilder CreateWith(TaskDetails task)
|
|
{
|
|
return new TaskNotificationBuilder().WithEvent(NotificationEvent.Task).WithTask(task);
|
|
}
|
|
|
|
public static GeniusInvocationNotificationBuilder CreateWith(Duel geniusInvocation)
|
|
{
|
|
return new GeniusInvocationNotificationBuilder().WithEvent(NotificationEvent.GeniusInvocation).WithGeniusInvocation(geniusInvocation);
|
|
}
|
|
|
|
public static DomainNotificationBuilder CreateWith(AutoDomainParam domain)
|
|
{
|
|
return new DomainNotificationBuilder().WithEvent(NotificationEvent.Domain).WithDomain(domain);
|
|
}
|
|
}
|