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 bool _autoGetDailyRewardsEnabled = true;
///
/// 自动重新派遣
///
[ObservableProperty]
private bool _autoReExploreEnabled = true;
///
/// 自动重新派遣使用角色配置,逗号分割
///
[Obsolete]
[ObservableProperty]
private string _autoReExploreCharacter = "";
///
/// 优先选择第一个选项
/// 优先选择最后一个选项
/// 不选择选项
///
[ObservableProperty]
private string _clickChatOption = "优先选择第一个选项";
///
/// 自动邀约启用
///
[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 _closePopupPagedEnabled = true;
// ///
// /// 使用交互键
// /// 使用鼠标
// ///
// [ObservableProperty]
// private string _selectChatOptionType = SelectChatOptionTypes.UseMouse;
}