mirror of
https://github.com/LorisYounger/VPet.git
synced 2024-08-30 18:42:36 +00:00
更新 Setting 结构
This commit is contained in:
parent
6a4d31b0d0
commit
45c4aae1c9
@ -27,7 +27,7 @@ namespace VPet_Simulator.Windows.Interface
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 游戏设置
|
/// 游戏设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Setting Set { get; }
|
ISetting Set { get; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 宠物加载器列表
|
/// 宠物加载器列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
206
VPet-Simulator.Windows.Interface/ISetting.cs
Normal file
206
VPet-Simulator.Windows.Interface/ISetting.cs
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
using LinePutScript;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace VPet_Simulator.Windows.Interface
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 设置方法接口
|
||||||
|
/// </summary>
|
||||||
|
public interface ISetting
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前缩放倍率
|
||||||
|
/// </summary>
|
||||||
|
double ZoomLevel { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置缩放倍率
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="level">缩放等级</param>
|
||||||
|
void SetZoomLevel(double level);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前播放声音的大小
|
||||||
|
/// </summary>
|
||||||
|
double VoiceVolume { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置播放声音的大小
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="volume">声音大小</param>
|
||||||
|
void SetVoiceVolume(double volume);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前自动保存的频率(分钟)
|
||||||
|
/// </summary>
|
||||||
|
int AutoSaveInterval { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置自动保存的频率(分钟)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="interval">保存间隔</param>
|
||||||
|
void SetAutoSaveInterval(int interval);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置备份保存的最大数量
|
||||||
|
/// </summary>
|
||||||
|
int BackupSaveMaxNum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前是否置于顶层
|
||||||
|
/// </summary>
|
||||||
|
bool TopMost { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置是否置于顶层
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="topMost">是否置顶</param>
|
||||||
|
void SetTopMost(bool topMost);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置上次清理缓存的日期
|
||||||
|
/// </summary>
|
||||||
|
DateTime LastCacheDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前语言
|
||||||
|
/// </summary>
|
||||||
|
string Language { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置语言
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="language">语言代码</param>
|
||||||
|
void SetLanguage(string language);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置按多久视为长按(毫秒)
|
||||||
|
/// </summary>
|
||||||
|
int PressLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置互动周期
|
||||||
|
/// </summary>
|
||||||
|
int InteractionCycle { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前计算间隔(秒)
|
||||||
|
/// </summary>
|
||||||
|
double LogicInterval { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置计算间隔(秒)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="interval">计算间隔</param>
|
||||||
|
void SetLogicInterval(double interval);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前是否允许移动
|
||||||
|
/// </summary>
|
||||||
|
bool AllowMove { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置是否允许移动
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="allowMove">是否允许移动</param>
|
||||||
|
void SetAllowMove(bool allowMove);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前是否启用智能移动
|
||||||
|
/// </summary>
|
||||||
|
bool SmartMove { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置是否启用智能移动
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="smartMove">是否启用智能移动</param>
|
||||||
|
void SetSmartMove(bool smartMove);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前是否启用计算等数据功能
|
||||||
|
/// </summary>
|
||||||
|
bool EnableFunction { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置是否启用计算等数据功能
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="enableFunction">是否启用功能</param>
|
||||||
|
void SetEnableFunction(bool enableFunction);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前智能移动周期(秒)
|
||||||
|
/// </summary>
|
||||||
|
int SmartMoveInterval { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置智能移动周期(秒)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="interval">智能移动周期</param>
|
||||||
|
void SetSmartMoveInterval(int interval);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置消息框是否外置
|
||||||
|
/// </summary>
|
||||||
|
bool MessageBarOutside { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取当前是否记录游戏退出位置
|
||||||
|
/// </summary>
|
||||||
|
bool StartRecordLast { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取上次退出位置
|
||||||
|
/// </summary>
|
||||||
|
Point StartRecordLastPoint { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置桌宠启动的位置
|
||||||
|
/// </summary>
|
||||||
|
Point StartRecordPoint { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置当实时播放音量达到该值时运行音乐动作
|
||||||
|
/// </summary>
|
||||||
|
double MusicCatch { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置当实时播放音量达到该值时运行特殊音乐动作
|
||||||
|
/// </summary>
|
||||||
|
double MusicMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置桌宠图形渲染的分辨率,越高图形越清晰,重启后生效
|
||||||
|
/// </summary>
|
||||||
|
int Resolution { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否允许桌宠自动购买食品
|
||||||
|
/// </summary>
|
||||||
|
bool AutoBuy { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否允许桌宠自动购买礼物
|
||||||
|
/// </summary>
|
||||||
|
bool AutoGift { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置在任务切换器(Alt+Tab)中是否隐藏窗口,重启后生效
|
||||||
|
/// </summary>
|
||||||
|
bool HideFromTaskControl { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更好买数据
|
||||||
|
/// </summary>
|
||||||
|
ILine BetterBuyData { get; }
|
||||||
|
/// <summary>
|
||||||
|
/// 游戏数据
|
||||||
|
/// </summary>
|
||||||
|
ILine GameData { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -171,7 +171,7 @@ namespace VPet_Simulator.Windows.Interface
|
|||||||
public void LoadImageSource(IMainWindow imw)
|
public void LoadImageSource(IMainWindow imw)
|
||||||
{
|
{
|
||||||
ImageSource = imw.ImageSources.FindImage(Image ?? Name, "food");
|
ImageSource = imw.ImageSources.FindImage(Image ?? Name, "food");
|
||||||
Star = imw.Set["betterbuy"]["star"].GetInfos().Contains(Name);
|
Star = imw.Set.BetterBuyData["star"].GetInfos().Contains(Name);
|
||||||
LoadEatTimeSource(imw);
|
LoadEatTimeSource(imw);
|
||||||
}
|
}
|
||||||
public void LoadEatTimeSource(IMainWindow imw)
|
public void LoadEatTimeSource(IMainWindow imw)
|
||||||
|
@ -1,21 +1,29 @@
|
|||||||
using LinePutScript;
|
using LinePutScript;
|
||||||
using LinePutScript.Dictionary;
|
using LinePutScript.Dictionary;
|
||||||
|
using LinePutScript.Localization.WPF;
|
||||||
|
using NAudio.Gui;
|
||||||
|
using Steamworks;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.IO;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
using VPet_Simulator.Core;
|
using VPet_Simulator.Core;
|
||||||
|
using VPet_Simulator.Windows.Interface;
|
||||||
|
using static VPet_Simulator.Windows.Win32;
|
||||||
|
|
||||||
namespace VPet_Simulator.Windows.Interface
|
namespace VPet_Simulator.Windows
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 游戏设置
|
/// 游戏设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Setting : LPS_D
|
public class Setting : LPS_D, ISetting
|
||||||
{
|
{
|
||||||
|
MainWindow mw;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 游戏设置
|
/// 游戏设置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Setting(string lps) : base(lps)
|
public Setting(MainWindow mw, string lps) : base(lps)
|
||||||
{
|
{
|
||||||
var line = FindLine("zoomlevel");
|
var line = FindLine("zoomlevel");
|
||||||
if (line == null)
|
if (line == null)
|
||||||
@ -33,41 +41,12 @@ namespace VPet_Simulator.Windows.Interface
|
|||||||
allowmove = !this["gameconfig"].GetBool("allowmove");
|
allowmove = !this["gameconfig"].GetBool("allowmove");
|
||||||
smartmove = this["gameconfig"].GetBool("smartmove");
|
smartmove = this["gameconfig"].GetBool("smartmove");
|
||||||
enablefunction = !this["gameconfig"].GetBool("nofunction");
|
enablefunction = !this["gameconfig"].GetBool("nofunction");
|
||||||
//Statistics_OLD = new Statistics(this["statistics"].ToList());
|
|
||||||
autobuy = this["gameconfig"].GetBool("autobuy");
|
autobuy = this["gameconfig"].GetBool("autobuy");
|
||||||
autogift = this["gameconfig"].GetBool("autogift");
|
autogift = this["gameconfig"].GetBool("autogift");
|
||||||
|
this.mw = mw;
|
||||||
}
|
}
|
||||||
|
|
||||||
//public override string ToString()
|
|
||||||
//{//留作备份,未来版本删了
|
|
||||||
// this["statistics"] = new Line("statistics", "", "", Statistics_OLD.ToSubs().ToArray());
|
|
||||||
// return base.ToString();
|
|
||||||
//}
|
|
||||||
|
|
||||||
///// <summary>
|
|
||||||
///// 统计数据信息(旧)
|
|
||||||
///// </summary>
|
|
||||||
//public Statistics Statistics_OLD;
|
|
||||||
|
|
||||||
//public Size WindowsSize
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// var line = FindLine("windowssize");
|
|
||||||
// if (line == null)
|
|
||||||
// return new Size(1366, 799);
|
|
||||||
// var strs = line.GetInfos();
|
|
||||||
// if (int.TryParse(strs[0], out int x))
|
|
||||||
// x = 1366;
|
|
||||||
// if (int.TryParse(strs[0], out int y))
|
|
||||||
// y = 799;
|
|
||||||
// return new Size(x, y);
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// FindorAddLine("windowssize").info = $"{value.Width},{value.Height}";
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
private double zoomlevel = 0;
|
private double zoomlevel = 0;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 缩放倍率
|
/// 缩放倍率
|
||||||
@ -513,5 +492,85 @@ namespace VPet_Simulator.Windows.Interface
|
|||||||
line.SetInt("h", value.Height);
|
line.SetInt("h", value.Height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ILine BetterBuyData => FindorAddLine("betterbuy");
|
||||||
|
|
||||||
|
public ILine GameData => FindorAddLine("gamedata");
|
||||||
|
|
||||||
|
public void SetZoomLevel(double level) => mw.SetZoomLevel(level);
|
||||||
|
|
||||||
|
public void SetVoiceVolume(double volume) { VoiceVolume = volume; mw.Main.PlayVoiceVolume = volume; }
|
||||||
|
|
||||||
|
public void SetAutoSaveInterval(int interval)
|
||||||
|
{
|
||||||
|
AutoSaveInterval = interval;
|
||||||
|
if (AutoSaveInterval > 0)
|
||||||
|
{
|
||||||
|
mw.AutoSaveTimer.Interval = AutoSaveInterval * 60000;
|
||||||
|
mw.AutoSaveTimer.Start();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mw.AutoSaveTimer.Stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTopMost(bool topMost)
|
||||||
|
{
|
||||||
|
TopMost = true;
|
||||||
|
mw.Topmost = topMost;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetLanguage(string language)
|
||||||
|
{
|
||||||
|
var petloader = mw.Pets.Find(x => x.Name == PetGraph);
|
||||||
|
petloader ??= mw.Pets[0];
|
||||||
|
bool ischangename = mw.Core.Save.Name == petloader.PetName.Translate();
|
||||||
|
LocalizeCore.LoadCulture(language);
|
||||||
|
Language = LocalizeCore.CurrentCulture;
|
||||||
|
if (ischangename)
|
||||||
|
{
|
||||||
|
mw.Core.Save.Name = petloader.PetName.Translate();
|
||||||
|
if (mw.IsSteamUser)
|
||||||
|
SteamFriends.SetRichPresence("username", mw.Core.Save.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetLogicInterval(double interval)
|
||||||
|
{
|
||||||
|
LogicInterval = interval;
|
||||||
|
mw.Main.SetLogicInterval((int)(interval * 1000));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAllowMove(bool allowMove)
|
||||||
|
{
|
||||||
|
AllowMove = allowMove;
|
||||||
|
mw.Main.SetMoveMode(AllowMove, SmartMove, SmartMoveInterval * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetSmartMove(bool smartMove)
|
||||||
|
{
|
||||||
|
SmartMove = smartMove;
|
||||||
|
mw.Main.SetMoveMode(AllowMove, SmartMove, SmartMoveInterval * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetEnableFunction(bool enableFunction)
|
||||||
|
{
|
||||||
|
EnableFunction = enableFunction;
|
||||||
|
if (!enableFunction)
|
||||||
|
{
|
||||||
|
if (mw.Main.State != Main.WorkingState.Nomal)
|
||||||
|
{
|
||||||
|
mw.Main.WorkTimer.Visibility = Visibility.Collapsed;
|
||||||
|
mw.Main.State = Main.WorkingState.Nomal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetSmartMoveInterval(int interval)
|
||||||
|
{
|
||||||
|
SmartMoveInterval = interval;
|
||||||
|
mw.Main.SetMoveMode(AllowMove, SmartMove, SmartMoveInterval * 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -63,6 +63,8 @@ namespace VPet_Simulator.Windows
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
public Setting Set { get; set; }
|
public Setting Set { get; set; }
|
||||||
|
ISetting IMainWindow.Set => Set;
|
||||||
|
|
||||||
public List<PetLoader> Pets { get; set; } = new List<PetLoader>();
|
public List<PetLoader> Pets { get; set; } = new List<PetLoader>();
|
||||||
public List<CoreMOD> CoreMODs = new List<CoreMOD>();
|
public List<CoreMOD> CoreMODs = new List<CoreMOD>();
|
||||||
public GameCore Core { get; set; } = new GameCore();
|
public GameCore Core { get; set; } = new GameCore();
|
||||||
@ -1121,6 +1123,7 @@ namespace VPet_Simulator.Windows
|
|||||||
return TalkAPI[TalkAPIIndex];
|
return TalkAPI[TalkAPIIndex];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 移除所有聊天对话框
|
/// 移除所有聊天对话框
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1176,10 +1179,10 @@ namespace VPet_Simulator.Windows
|
|||||||
//加载游戏设置
|
//加载游戏设置
|
||||||
if (new FileInfo(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps").Exists)
|
if (new FileInfo(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps").Exists)
|
||||||
{
|
{
|
||||||
Set = new Setting(File.ReadAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps"));
|
Set = new Setting(this,File.ReadAllText(ExtensionValue.BaseDirectory + @$"\Setting{PrefixSave}.lps"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Set = new Setting("Setting#VPET:|\n");
|
Set = new Setting(this, "Setting#VPET:|\n");
|
||||||
|
|
||||||
var visualTree = new FrameworkElementFactory(typeof(Border));
|
var visualTree = new FrameworkElementFactory(typeof(Border));
|
||||||
visualTree.SetValue(Border.BackgroundProperty, new TemplateBindingExtension(BackgroundProperty));
|
visualTree.SetValue(Border.BackgroundProperty, new TemplateBindingExtension(BackgroundProperty));
|
||||||
@ -1506,6 +1509,11 @@ namespace VPet_Simulator.Windows
|
|||||||
Main = new Main(Core);
|
Main = new Main(Core);
|
||||||
Main.NoFunctionMOD = Set.CalFunState;
|
Main.NoFunctionMOD = Set.CalFunState;
|
||||||
|
|
||||||
|
//清空资源
|
||||||
|
Main.Resources = Application.Current.Resources;
|
||||||
|
Main.MsgBar.Resources = Application.Current.Resources;
|
||||||
|
Main.ToolBar.Resources = Application.Current.Resources;
|
||||||
|
|
||||||
//加载主题:
|
//加载主题:
|
||||||
LoadTheme(Set.Theme);
|
LoadTheme(Set.Theme);
|
||||||
//加载字体
|
//加载字体
|
||||||
|
@ -509,16 +509,7 @@ namespace VPet_Simulator.Windows
|
|||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.Set.AutoSaveInterval = (int)((ComboBoxItem)CBAutoSave.SelectedItem).Tag;
|
mw.Set.SetAutoSaveInterval((int)((ComboBoxItem)CBAutoSave.SelectedItem).Tag);
|
||||||
if (mw.Set.AutoSaveInterval > 0)
|
|
||||||
{
|
|
||||||
mw.AutoSaveTimer.Interval = mw.Set.AutoSaveInterval * 60000;
|
|
||||||
mw.AutoSaveTimer.Start();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mw.AutoSaveTimer.Stop();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -808,8 +799,6 @@ namespace VPet_Simulator.Windows
|
|||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.SetZoomLevel(ZoomSlider.Value / 2);
|
mw.SetZoomLevel(ZoomSlider.Value / 2);
|
||||||
//this.Width = 400 * Math.Sqrt(ZoomSlider.Value);
|
|
||||||
//this.Height = 450 * Math.Sqrt(ZoomSlider.Value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PressLengthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
|
private void PressLengthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
|
||||||
@ -884,8 +873,7 @@ namespace VPet_Simulator.Windows
|
|||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.Set.LogicInterval = CalSlider.Value;
|
mw.Set.SetLogicInterval(CalSlider.Value);
|
||||||
mw.Main.SetLogicInterval((int)(CalSlider.Value * 1000));
|
|
||||||
CalTimeInteraction();
|
CalTimeInteraction();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -893,32 +881,24 @@ namespace VPet_Simulator.Windows
|
|||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.Set.AllowMove = MoveEventBox.IsChecked == true;
|
mw.Set.SetAllowMove(MoveEventBox.IsChecked == true);
|
||||||
SetSmartMove();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SmartMoveEventBox_Checked(object sender, RoutedEventArgs e)
|
private void SmartMoveEventBox_Checked(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.Set.SmartMove = SmartMoveEventBox.IsChecked == true;
|
mw.Set.SetSmartMove(SmartMoveEventBox.IsChecked == true);
|
||||||
SetSmartMove();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CBSmartMove_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
private void CBSmartMove_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
mw.Set.SmartMoveInterval = (int)((ComboBoxItem)CBSmartMove.SelectedItem).Tag;
|
mw.Set.SetSmartMoveInterval((int)((ComboBoxItem)CBSmartMove.SelectedItem).Tag);
|
||||||
SetSmartMove();
|
|
||||||
}
|
|
||||||
public void SetSmartMove()
|
|
||||||
{
|
|
||||||
if (!AllowChange)
|
|
||||||
return;
|
|
||||||
mw.Main.SetMoveMode(mw.Set.AllowMove, mw.Set.SmartMove, mw.Set.SmartMoveInterval * 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void GenStartUP()
|
public void GenStartUP()
|
||||||
{
|
{
|
||||||
mw.Set["v"][(gbol)"newverstartup"] = true;
|
mw.Set["v"][(gbol)"newverstartup"] = true;
|
||||||
@ -1383,18 +1363,8 @@ namespace VPet_Simulator.Windows
|
|||||||
{
|
{
|
||||||
if (!AllowChange)
|
if (!AllowChange)
|
||||||
return;
|
return;
|
||||||
var petloader = mw.Pets.Find(x => x.Name == mw.Set.PetGraph);
|
mw.Set.SetLanguage((string)LanguageBox.SelectedItem);
|
||||||
petloader ??= mw.Pets[0];
|
|
||||||
bool ischangename = mw.Core.Save.Name == petloader.PetName.Translate();
|
|
||||||
LocalizeCore.LoadCulture((string)LanguageBox.SelectedItem);
|
|
||||||
mw.Set.Language = LocalizeCore.CurrentCulture;
|
|
||||||
if (ischangename)
|
|
||||||
{
|
|
||||||
mw.Core.Save.Name = petloader.PetName.Translate();
|
|
||||||
TextBoxPetName.Text = mw.Core.Save.Name;
|
TextBoxPetName.Text = mw.Core.Save.Name;
|
||||||
if (mw.IsSteamUser)
|
|
||||||
SteamFriends.SetRichPresence("username", mw.Core.Save.Name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainTab_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
private void MainTab_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
|
@ -6,6 +6,7 @@ using System.ComponentModel;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using VPet_Simulator.Windows;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows.Interface;
|
||||||
|
|
||||||
namespace VPet.Solution.Models.SettingEditor;
|
namespace VPet.Solution.Models.SettingEditor;
|
||||||
@ -31,7 +32,7 @@ public class DiagnosticSettingModel : ObservableClass<DiagnosticSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否启用数据收集
|
/// 是否启用数据收集
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.Diagnosis))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.Diagnosis))]
|
||||||
public bool Diagnosis
|
public bool Diagnosis
|
||||||
{
|
{
|
||||||
get => _diagnosis;
|
get => _diagnosis;
|
||||||
@ -46,7 +47,7 @@ public class DiagnosticSettingModel : ObservableClass<DiagnosticSettingModel>
|
|||||||
/// 数据收集频率
|
/// 数据收集频率
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DefaultValue(500)]
|
[DefaultValue(500)]
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.DiagnosisInterval))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.DiagnosisInterval))]
|
||||||
public int DiagnosisInterval
|
public int DiagnosisInterval
|
||||||
{
|
{
|
||||||
get => _diagnosisInterval;
|
get => _diagnosisInterval;
|
||||||
|
@ -3,6 +3,7 @@ using LinePutScript.Localization.WPF;
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using VPet_Simulator.Windows;
|
||||||
|
|
||||||
namespace VPet.Solution.Models.SettingEditor;
|
namespace VPet.Solution.Models.SettingEditor;
|
||||||
|
|
||||||
@ -15,7 +16,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// 缩放倍率
|
/// 缩放倍率
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DefaultValue(1)]
|
[DefaultValue(1)]
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.ZoomLevel))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.ZoomLevel))]
|
||||||
public double ZoomLevel
|
public double ZoomLevel
|
||||||
{
|
{
|
||||||
get => _zoomLevel;
|
get => _zoomLevel;
|
||||||
@ -48,7 +49,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// 桌宠图形渲染的分辨率,越高图形越清晰
|
/// 桌宠图形渲染的分辨率,越高图形越清晰
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DefaultValue(1000)]
|
[DefaultValue(1000)]
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.Resolution))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.Resolution))]
|
||||||
public int Resolution
|
public int Resolution
|
||||||
{
|
{
|
||||||
get => _resolution;
|
get => _resolution;
|
||||||
@ -62,7 +63,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否为更大的屏幕
|
/// 是否为更大的屏幕
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.IsBiggerScreen))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.IsBiggerScreen))]
|
||||||
public bool IsBiggerScreen
|
public bool IsBiggerScreen
|
||||||
{
|
{
|
||||||
get => _isBiggerScreen;
|
get => _isBiggerScreen;
|
||||||
@ -83,7 +84,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否置于顶层
|
/// 是否置于顶层
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.TopMost))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.TopMost))]
|
||||||
public bool TopMost
|
public bool TopMost
|
||||||
{
|
{
|
||||||
get => _topMost;
|
get => _topMost;
|
||||||
@ -97,7 +98,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否鼠标穿透
|
/// 是否鼠标穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.HitThrough))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.HitThrough))]
|
||||||
public bool HitThrough
|
public bool HitThrough
|
||||||
{
|
{
|
||||||
get => _hitThrough;
|
get => _hitThrough;
|
||||||
@ -111,7 +112,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 语言
|
/// 语言
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.Language))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.Language))]
|
||||||
public string Language
|
public string Language
|
||||||
{
|
{
|
||||||
get => _language;
|
get => _language;
|
||||||
@ -128,7 +129,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 字体
|
/// 字体
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.Font))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.Font))]
|
||||||
public string Font
|
public string Font
|
||||||
{
|
{
|
||||||
get => _font;
|
get => _font;
|
||||||
@ -142,7 +143,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 主题
|
/// 主题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.Theme))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.Theme))]
|
||||||
public string Theme
|
public string Theme
|
||||||
{
|
{
|
||||||
get => _theme;
|
get => _theme;
|
||||||
@ -156,7 +157,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开机启动
|
/// 开机启动
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.StartUPBoot))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.StartUPBoot))]
|
||||||
public bool StartUPBoot
|
public bool StartUPBoot
|
||||||
{
|
{
|
||||||
get => _startUPBoot;
|
get => _startUPBoot;
|
||||||
@ -170,7 +171,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开机启动 Steam
|
/// 开机启动 Steam
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.StartUPBootSteam))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.StartUPBootSteam))]
|
||||||
public bool StartUPBootSteam
|
public bool StartUPBootSteam
|
||||||
{
|
{
|
||||||
get => _startUPBootSteam;
|
get => _startUPBootSteam;
|
||||||
@ -185,7 +186,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// 是否记录游戏退出位置
|
/// 是否记录游戏退出位置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DefaultValue(true)]
|
[DefaultValue(true)]
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.StartRecordLast))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.StartRecordLast))]
|
||||||
public bool StartRecordLast
|
public bool StartRecordLast
|
||||||
{
|
{
|
||||||
get => _startRecordLast;
|
get => _startRecordLast;
|
||||||
@ -224,7 +225,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 在任务切换器(Alt+Tab)中隐藏窗口
|
/// 在任务切换器(Alt+Tab)中隐藏窗口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.HideFromTaskControl))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.HideFromTaskControl))]
|
||||||
public bool HideFromTaskControl
|
public bool HideFromTaskControl
|
||||||
{
|
{
|
||||||
get => _hideFromTaskControl;
|
get => _hideFromTaskControl;
|
||||||
@ -238,7 +239,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消息框外置
|
/// 消息框外置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MessageBarOutside))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.MessageBarOutside))]
|
||||||
public bool MessageBarOutside
|
public bool MessageBarOutside
|
||||||
{
|
{
|
||||||
get => _messageBarOutside;
|
get => _messageBarOutside;
|
||||||
@ -252,7 +253,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否显示宠物帮助窗口
|
/// 是否显示宠物帮助窗口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PetHelper))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PetHelper))]
|
||||||
public bool PetHelper
|
public bool PetHelper
|
||||||
{
|
{
|
||||||
get => _petHelper;
|
get => _petHelper;
|
||||||
@ -268,7 +269,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 快捷穿透按钮X坐标
|
/// 快捷穿透按钮X坐标
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PetHelpLeft))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PetHelpLeft))]
|
||||||
public double PetHelpLeft
|
public double PetHelpLeft
|
||||||
{
|
{
|
||||||
get => _petHelpLeft;
|
get => _petHelpLeft;
|
||||||
@ -284,7 +285,7 @@ public class GraphicsSettingModel : ObservableClass<GraphicsSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 快捷穿透按钮Y坐标
|
/// 快捷穿透按钮Y坐标
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PetHelpTop))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PetHelpTop))]
|
||||||
public double PetHelpTop
|
public double PetHelpTop
|
||||||
{
|
{
|
||||||
get => _petHelpTop;
|
get => _petHelpTop;
|
||||||
|
@ -14,7 +14,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
///// <summary>
|
///// <summary>
|
||||||
///// 宠物名称
|
///// 宠物名称
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PetName))]
|
//[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PetName))]
|
||||||
//public string PetName
|
//public string PetName
|
||||||
//{
|
//{
|
||||||
// get => _petName;
|
// get => _petName;
|
||||||
@ -28,7 +28,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 播放声音大小
|
/// 播放声音大小
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.VoiceVolume))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.VoiceVolume))]
|
||||||
public double VoiceVolume
|
public double VoiceVolume
|
||||||
{
|
{
|
||||||
get => _voiceVolume;
|
get => _voiceVolume;
|
||||||
@ -42,7 +42,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 启用计算等数据功能
|
/// 启用计算等数据功能
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.EnableFunction))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.EnableFunction))]
|
||||||
public bool EnableFunction
|
public bool EnableFunction
|
||||||
{
|
{
|
||||||
get => _enableFunction;
|
get => _enableFunction;
|
||||||
@ -56,7 +56,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 非计算模式下默认模式
|
/// 非计算模式下默认模式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.CalFunState))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.CalFunState))]
|
||||||
public IGameSave.ModeType CalFunState
|
public IGameSave.ModeType CalFunState
|
||||||
{
|
{
|
||||||
get => _calFunState;
|
get => _calFunState;
|
||||||
@ -73,7 +73,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上次清理缓存日期
|
/// 上次清理缓存日期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.LastCacheDate))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.LastCacheDate))]
|
||||||
public DateTime LastCacheDate
|
public DateTime LastCacheDate
|
||||||
{
|
{
|
||||||
get => _lastCacheDate;
|
get => _lastCacheDate;
|
||||||
@ -87,7 +87,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 储存顺序次数
|
/// 储存顺序次数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.SaveTimes))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.SaveTimes))]
|
||||||
public int SaveTimes
|
public int SaveTimes
|
||||||
{
|
{
|
||||||
get => _saveTimes;
|
get => _saveTimes;
|
||||||
@ -101,7 +101,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 按多久视为长按 单位毫秒
|
/// 按多久视为长按 单位毫秒
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PressLength))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PressLength))]
|
||||||
public int PressLength
|
public int PressLength
|
||||||
{
|
{
|
||||||
get => _pressLength;
|
get => _pressLength;
|
||||||
@ -115,7 +115,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 互动周期
|
/// 互动周期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.InteractionCycle))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.InteractionCycle))]
|
||||||
public int InteractionCycle
|
public int InteractionCycle
|
||||||
{
|
{
|
||||||
get => _interactionCycle;
|
get => _interactionCycle;
|
||||||
@ -129,7 +129,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 计算间隔 (秒)
|
/// 计算间隔 (秒)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.LogicInterval))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.LogicInterval))]
|
||||||
public double LogicInterval
|
public double LogicInterval
|
||||||
{
|
{
|
||||||
get => _logicInterval;
|
get => _logicInterval;
|
||||||
@ -143,7 +143,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许移动事件
|
/// 允许移动事件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.AllowMove))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.AllowMove))]
|
||||||
public bool AllowMove
|
public bool AllowMove
|
||||||
{
|
{
|
||||||
get => _allowMove;
|
get => _allowMove;
|
||||||
@ -157,7 +157,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 智能移动
|
/// 智能移动
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.SmartMove))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.SmartMove))]
|
||||||
public bool SmartMove
|
public bool SmartMove
|
||||||
{
|
{
|
||||||
get => _smartMove;
|
get => _smartMove;
|
||||||
@ -172,7 +172,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// 智能移动周期 (秒)
|
/// 智能移动周期 (秒)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DefaultValue(1)]
|
[DefaultValue(1)]
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.SmartMoveInterval))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.SmartMoveInterval))]
|
||||||
[ReflectionPropertyConverter(typeof(SecondToMinuteConverter))]
|
[ReflectionPropertyConverter(typeof(SecondToMinuteConverter))]
|
||||||
public int SmartMoveInterval
|
public int SmartMoveInterval
|
||||||
{
|
{
|
||||||
@ -190,7 +190,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 桌宠选择内容
|
/// 桌宠选择内容
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.PetGraph))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.PetGraph))]
|
||||||
public string PetGraph
|
public string PetGraph
|
||||||
{
|
{
|
||||||
get => _petGraph;
|
get => _petGraph;
|
||||||
@ -204,7 +204,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当实时播放音量达到该值时运行音乐动作
|
/// 当实时播放音量达到该值时运行音乐动作
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicCatch))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.MusicCatch))]
|
||||||
[ReflectionPropertyConverter(typeof(PercentageConverter))]
|
[ReflectionPropertyConverter(typeof(PercentageConverter))]
|
||||||
public int MusicCatch
|
public int MusicCatch
|
||||||
{
|
{
|
||||||
@ -219,7 +219,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当实时播放音量达到该值时运行特殊音乐动作
|
/// 当实时播放音量达到该值时运行特殊音乐动作
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicMax))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.MusicMax))]
|
||||||
[ReflectionPropertyConverter(typeof(PercentageConverter))]
|
[ReflectionPropertyConverter(typeof(PercentageConverter))]
|
||||||
public int MusicMax
|
public int MusicMax
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许桌宠自动购买食品
|
/// 允许桌宠自动购买食品
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.AutoBuy))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.AutoBuy))]
|
||||||
public bool AutoBuy
|
public bool AutoBuy
|
||||||
{
|
{
|
||||||
get => _autoBuy;
|
get => _autoBuy;
|
||||||
@ -250,7 +250,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 允许桌宠自动购买礼物
|
/// 允许桌宠自动购买礼物
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.AutoGift))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.AutoGift))]
|
||||||
public bool AutoGift
|
public bool AutoGift
|
||||||
{
|
{
|
||||||
get => _autoGift;
|
get => _autoGift;
|
||||||
@ -261,7 +261,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
#region MoveAreaDefault
|
#region MoveAreaDefault
|
||||||
private bool _moveAreaDefault;
|
private bool _moveAreaDefault;
|
||||||
|
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MoveAreaDefault))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.MoveAreaDefault))]
|
||||||
public bool MoveAreaDefault
|
public bool MoveAreaDefault
|
||||||
{
|
{
|
||||||
get => _moveAreaDefault;
|
get => _moveAreaDefault;
|
||||||
@ -272,7 +272,7 @@ public class InteractiveSettingModel : ObservableClass<InteractiveSettingModel>
|
|||||||
#region MoveArea
|
#region MoveArea
|
||||||
private System.Drawing.Rectangle _moveArea;
|
private System.Drawing.Rectangle _moveArea;
|
||||||
|
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MoveArea))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.MoveArea))]
|
||||||
public System.Drawing.Rectangle MoveArea
|
public System.Drawing.Rectangle MoveArea
|
||||||
{
|
{
|
||||||
get => _moveArea;
|
get => _moveArea;
|
||||||
|
@ -10,7 +10,7 @@ using HKW.HKWUtils.Observable;
|
|||||||
using LinePutScript;
|
using LinePutScript;
|
||||||
using LinePutScript.Localization.WPF;
|
using LinePutScript.Localization.WPF;
|
||||||
using VPet.Solution.Views.SettingEditor;
|
using VPet.Solution.Views.SettingEditor;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows;
|
||||||
|
|
||||||
namespace VPet.Solution.Models.SettingEditor;
|
namespace VPet.Solution.Models.SettingEditor;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ using HKW.HKWUtils.Observable;
|
|||||||
using LinePutScript;
|
using LinePutScript;
|
||||||
using LinePutScript.Localization.WPF;
|
using LinePutScript.Localization.WPF;
|
||||||
using VPet.Solution.Properties;
|
using VPet.Solution.Properties;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows;
|
||||||
|
|
||||||
namespace VPet.Solution.Models.SettingEditor;
|
namespace VPet.Solution.Models.SettingEditor;
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ public class SettingModel : ObservableClass<SettingModel>
|
|||||||
private readonly ReflectionOptions _saveReflectionOptions = new() { CheckValueEquals = true };
|
private readonly ReflectionOptions _saveReflectionOptions = new() { CheckValueEquals = true };
|
||||||
|
|
||||||
public SettingModel()
|
public SettingModel()
|
||||||
: this(new("")) { }
|
: this(new(null, "")) { }
|
||||||
|
|
||||||
public SettingModel(Setting setting)
|
public SettingModel(Setting setting)
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,7 @@ public class SystemSettingModel : ObservableClass<SystemSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自动保存频率 (min)
|
/// 自动保存频率 (min)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.AutoSaveInterval))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.AutoSaveInterval))]
|
||||||
public int AutoSaveInterval
|
public int AutoSaveInterval
|
||||||
{
|
{
|
||||||
get => _autoSaveInterval;
|
get => _autoSaveInterval;
|
||||||
@ -32,7 +32,7 @@ public class SystemSettingModel : ObservableClass<SystemSettingModel>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备份保存最大数量
|
/// 备份保存最大数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.BackupSaveMaxNum))]
|
[ReflectionProperty(nameof(VPet_Simulator.Windows.Setting.BackupSaveMaxNum))]
|
||||||
public int BackupSaveMaxNum
|
public int BackupSaveMaxNum
|
||||||
{
|
{
|
||||||
get => _backupSaveMaxNum;
|
get => _backupSaveMaxNum;
|
||||||
|
@ -8,7 +8,7 @@ using LinePutScript.Localization.WPF;
|
|||||||
using Panuon.WPF.UI;
|
using Panuon.WPF.UI;
|
||||||
using VPet.Solution.Models.SettingEditor;
|
using VPet.Solution.Models.SettingEditor;
|
||||||
using VPet.Solution.ViewModels.SettingEditor;
|
using VPet.Solution.ViewModels.SettingEditor;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows;
|
||||||
|
|
||||||
namespace VPet.Solution.ViewModels;
|
namespace VPet.Solution.ViewModels;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ using Panuon.WPF;
|
|||||||
using VPet.Solution.Models;
|
using VPet.Solution.Models;
|
||||||
using VPet.Solution.Models.SettingEditor;
|
using VPet.Solution.Models.SettingEditor;
|
||||||
using VPet.Solution.Views.SettingEditor;
|
using VPet.Solution.Views.SettingEditor;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows;
|
||||||
|
|
||||||
namespace VPet.Solution.ViewModels.SettingEditor;
|
namespace VPet.Solution.ViewModels.SettingEditor;
|
||||||
|
|
||||||
@ -215,7 +215,7 @@ public class SettingWindowVM : ObservableClass<SettingWindowVM>
|
|||||||
var fileName = Path.GetFileNameWithoutExtension(file);
|
var fileName = Path.GetFileNameWithoutExtension(file);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var setting = new Setting(File.ReadAllText(file));
|
var setting = new Setting(null, File.ReadAllText(file));
|
||||||
var settingModel = new SettingModel(setting) { Name = fileName, FilePath = file };
|
var settingModel = new SettingModel(setting) { Name = fileName, FilePath = file };
|
||||||
Settings.Add(settingModel);
|
Settings.Add(settingModel);
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ public partial class MainWindow : WindowX
|
|||||||
|
|
||||||
private void MainWindow_Closed(object? sender, EventArgs e)
|
private void MainWindow_Closed(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (ModSettingModel.LocalMods != null)
|
||||||
foreach (var mod in ModSettingModel.LocalMods)
|
foreach (var mod in ModSettingModel.LocalMods)
|
||||||
mod.Value.Image?.CloseStream();
|
mod.Value.Image?.CloseStream();
|
||||||
SettingWindow.CloseX();
|
SettingWindow.CloseX();
|
||||||
|
Loading…
Reference in New Issue
Block a user