using CommunityToolkit.Mvvm.ComponentModel;
using System;
using BetterGenshinImpact.GameTask.AutoSkip.Model;
namespace BetterGenshinImpact.GameTask.AutoSkip;
///
/// 自动跳过剧情配置
///
[Serializable]
public partial class AutoSkipConfig : ObservableObject
{
///
/// 触发器是否启用
/// 启用后:
/// 1. 快速跳过对话
/// 2. 自动点击一个识别到的选项
/// 3. 黑屏过长自动点击跳过
///
[ObservableProperty]
private bool _enabled = true;
///
/// 快速跳过对话
///
[ObservableProperty]
private bool _quicklySkipConversationsEnabled = true;
// public int ChatOptionTextWidth { get; set; } = 280;
//
// public int ExpeditionOptionTextWidth { get; set; } = 130;
///
/// 选择选项前的延迟(毫秒)
///
[ObservableProperty]
private int _afterChooseOptionSleepDelay = 0;
///
/// 点击对话框前的延迟(毫秒)
///
[ObservableProperty]
private int _beforeClickConfirmDelay = 0;
///
/// 自动领取每日委托奖励
///
[ObservableProperty]
private bool _autoGetDailyRewardsEnabled = true;
///
/// 自动重新派遣
///
[ObservableProperty]
private bool _autoReExploreEnabled = true;
///
/// 自动重新派遣使用角色配置,逗号分割
///
[Obsolete]
[ObservableProperty]
private string _autoReExploreCharacter = "";
///
/// 优先选择第一个选项
/// 优先选择最后一个选项
/// 不选择选项
///
[ObservableProperty]
private string _clickChatOption = "优先选择第一个选项";
///
/// 自定义优先选项启用
///
[ObservableProperty]
private bool _customPriorityOptionsEnabled = false;
///
/// 自定义优先选项文本,每行一个或用分号分隔
///
[ObservableProperty]
private string _customPriorityOptions = "";
///
/// 自动邀约启用
///
[ObservableProperty]
private bool _autoHangoutEventEnabled = false;
///
/// 自动邀约分支选择
///
[ObservableProperty]
private string _autoHangoutEndChoose = string.Empty;
///
/// 自动邀约选择选项前的延迟(毫秒)
///
[ObservableProperty]
private int _autoHangoutChooseOptionSleepDelay = 0;
///
/// 自动邀约自动点击跳过按钮
///
[ObservableProperty]
private bool _autoHangoutPressSkipEnabled = true;
public bool IsClickFirstChatOption()
{
return ClickChatOption == "优先选择第一个选项";
}
public bool IsClickRandomChatOption()
{
return ClickChatOption == "随机选择选项";
}
public bool IsClickNoneChatOption()
{
return ClickChatOption == "不选择选项";
}
///
/// 后台运行
///
[ObservableProperty]
private bool _runBackgroundEnabled = false;
///
/// 提交物品
///
[ObservableProperty]
private bool _submitGoodsEnabled = true;
///
/// 游戏失焦时显示画中画
///
[ObservableProperty]
private bool _pictureInPictureEnabled = false;
///
/// 画中画的源图像类型
/// TriggerDispatcher:来自于截图器50ms一次
/// CaptureLoop:主动获取(60帧)
///
[ObservableProperty]
private string _pictureInPictureSourceType = nameof(PictureSourceType.CaptureLoop);
///
/// 关闭弹出层
///
[ObservableProperty]
private bool _closePopupPagedEnabled = true;
///
/// JS调用时跳过内置默认点击选项
///
[ObservableProperty]
private bool _skipBuiltInClickOptions = false;
// ///
// /// 使用交互键
// /// 使用鼠标
// ///
// [ObservableProperty]
// private string _selectChatOptionType = SelectChatOptionTypes.UseMouse;
}
public enum PictureSourceType
{
TriggerDispatcher,
CaptureLoop
}