拆分结构

This commit is contained in:
Hakoyu 2023-08-30 04:54:41 +08:00
parent 1f3cda4023
commit e7138c4516
134 changed files with 147 additions and 36926 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

25
VPet.ModMaker.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VPet.ModMaker", "VPet.ModMaker\VPet.ModMaker.csproj", "{8F804A27-A57E-4799-801C-4DE96BA153BC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8F804A27-A57E-4799-801C-4DE96BA153BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8F804A27-A57E-4799-801C-4DE96BA153BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F804A27-A57E-4799-801C-4DE96BA153BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F804A27-A57E-4799-801C-4DE96BA153BC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DE04C712-253C-491A-B3F6-AC3E3C3569E9}
EndGlobalSection
EndGlobal

View File

@ -1,5 +1,5 @@
<Application <Application
x:Class="VPet.Plugin.ModMaker.App" x:Class="VPet.ModMaker.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Views/ModMakerWindow.xaml"> StartupUri="Views/ModMakerWindow.xaml">

View File

@ -6,7 +6,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
namespace VPet.Plugin.ModMaker namespace VPet.ModMaker
{ {
/// <summary> /// <summary>
/// Interaction logic for App.xaml /// Interaction logic for App.xaml

View File

@ -1,7 +1,7 @@
<ResourceDictionary <ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:VPet.Plugin.ModMaker.Converters"> xmlns:c="clr-namespace:VPet.ModMaker.Converters">
<c:MarginConverter x:Key="MarginConverter" /> <c:MarginConverter x:Key="MarginConverter" />
<c:MaxConverter x:Key="MaxConverter" /> <c:MaxConverter x:Key="MaxConverter" />
</ResourceDictionary> </ResourceDictionary>

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Data; using System.Windows.Data;
namespace VPet.Plugin.ModMaker.Converters; namespace VPet.ModMaker.Converters;
public class MarginConverter : IMultiValueConverter public class MarginConverter : IMultiValueConverter
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Data; using System.Windows.Data;
namespace VPet.Plugin.ModMaker.Converters; namespace VPet.ModMaker.Converters;
public class MaxConverter : IMultiValueConverter public class MaxConverter : IMultiValueConverter
{ {

View File

@ -6,7 +6,7 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class ClickTextModel : I18nModel<I18nClickTextModel> public class ClickTextModel : I18nModel<I18nClickTextModel>
{ {

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class FoodModel : I18nModel<I18nFoodModel> public class FoodModel : I18nModel<I18nFoodModel>
{ {

View File

@ -6,7 +6,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class I18nHelper public class I18nHelper
{ {

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class I18nModel<T> public class I18nModel<T>
where T : class, new() where T : class, new()

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using System.Xml.Serialization; using System.Xml.Serialization;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class LowTextModel : I18nModel<I18nLowTextModel> public class LowTextModel : I18nModel<I18nLowTextModel>
{ {

View File

@ -10,7 +10,7 @@ using System.Threading.Tasks;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class ModInfoModel : I18nModel<I18nModInfoModel> public class ModInfoModel : I18nModel<I18nModInfoModel>
{ {

View File

@ -10,7 +10,7 @@ using System.Threading.Tasks;
using VPet_Simulator.Core; using VPet_Simulator.Core;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class ModLoader public class ModLoader
{ {

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class ModMakeHistory public class ModMakeHistory
{ {

View File

@ -8,9 +8,9 @@ using System.Threading.Tasks;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows; using System.Windows;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
using VPet.Plugin.ModMaker.Views; using VPet.ModMaker.Views;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class ModMaker : MainPlugin public class ModMaker : MainPlugin
{ {

View File

@ -4,7 +4,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public static class ModMakerInfo public static class ModMakerInfo
{ {

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
namespace VPet.Plugin.ModMaker.Models; namespace VPet.ModMaker.Models;
public class PetModel : I18nModel<I18nPetInfoModel> public class PetModel : I18nModel<I18nPetInfoModel>
{ {

View File

@ -7,11 +7,11 @@ using System.Windows;
// 有关程序集的一般信息由以下 // 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改 // 控制。更改这些特性值可修改
// 与程序集关联的信息。 // 与程序集关联的信息。
[assembly: AssemblyTitle("VPet.Plugin.ModMaker")] [assembly: AssemblyTitle("VPet.ModMaker")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VPet.Plugin.ModMaker")] [assembly: AssemblyProduct("VPet.ModMaker")]
[assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -31,17 +31,16 @@ using System.Windows;
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly:ThemeInfo( [assembly: ThemeInfo(
ResourceDictionaryLocation.None, //主题特定资源词典所处位置 ResourceDictionaryLocation.None, //主题特定资源词典所处位置
//(未在页面中找到资源时使用, //(未在页面中找到资源时使用,
//或应用程序资源字典中找到时使用) //或应用程序资源字典中找到时使用)
ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置
//(未在页面中找到资源时使用, //(未在页面中找到资源时使用,
//、应用程序或任何主题专用资源字典中找到时使用) //、应用程序或任何主题专用资源字典中找到时使用)
)] )]
// 程序集的版本信息由下列四个值组成:
// 程序集的版本信息由下列四个值组成:
// //
// 主版本 // 主版本
// 次版本 // 次版本

View File

@ -8,7 +8,7 @@
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace VPet.Plugin.ModMaker.Properties { namespace VPet.ModMaker.Properties {
/// <summary> /// <summary>
@ -38,7 +38,7 @@ namespace VPet.Plugin.ModMaker.Properties {
internal static global::System.Resources.ResourceManager ResourceManager { internal static global::System.Resources.ResourceManager ResourceManager {
get { get {
if ((resourceMan == null)) { if ((resourceMan == null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VPet.Plugin.ModMaker.Properties.Resources", typeof(Resources).Assembly); global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VPet.ModMaker.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp; resourceMan = temp;
} }
return resourceMan; return resourceMan;

View File

@ -8,7 +8,7 @@
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace VPet.Plugin.ModMaker.Properties namespace VPet.ModMaker.Properties
{ {

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
namespace VPet.Plugin.ModMaker; namespace VPet.ModMaker;
internal static class Utils internal static class Utils
{ {

View File

@ -49,7 +49,7 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<StartupObject>VPet.Plugin.ModMaker.App</StartupObject> <StartupObject>VPet.ModMaker.App</StartupObject>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="LinePutScript, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="LinePutScript, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL">

View File

@ -5,10 +5,10 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit; namespace VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit;
public class ClickTextEditWindowVM public class ClickTextEditWindowVM
{ {

View File

@ -6,10 +6,10 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit; using VPet.ModMaker.Views.ModEdit.ClickTextEdit;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit; namespace VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit;
public class ClickTextPageVM public class ClickTextPageVM
{ {

View File

@ -8,10 +8,10 @@ using System.Reflection;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit; namespace VPet.ModMaker.ViewModels.ModEdit.FoodEdit;
public class FoodEditWindowVM public class FoodEditWindowVM
{ {

View File

@ -8,10 +8,10 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit; using VPet.ModMaker.Views.ModEdit.FoodEdit;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit; namespace VPet.ModMaker.ViewModels.ModEdit.FoodEdit;
public class FoodPageVM public class FoodPageVM
{ {

View File

@ -5,10 +5,10 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit; namespace VPet.ModMaker.ViewModels.ModEdit.LowTextEdit;
public class LowTextEditWindowVM public class LowTextEditWindowVM
{ {

View File

@ -8,11 +8,11 @@ using System.Linq.Expressions;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit; using VPet.ModMaker.Views.ModEdit.LowTextEdit;
using Expression = System.Linq.Expressions.Expression; using Expression = System.Linq.Expressions.Expression;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit; namespace VPet.ModMaker.ViewModels.ModEdit.LowTextEdit;
public class LowTextPageVM public class LowTextPageVM
{ {

View File

@ -7,13 +7,13 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
using VPet.Plugin.ModMaker.Views.ModEdit; using VPet.ModMaker.Views.ModEdit;
using System.Windows; using System.Windows;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit; namespace VPet.ModMaker.ViewModels.ModEdit;
public class ModEditWindowVM public class ModEditWindowVM
{ {

View File

@ -5,9 +5,9 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.PetEdit; namespace VPet.ModMaker.ViewModels.ModEdit.PetEdit;
public class PetEditWindowVM public class PetEditWindowVM
{ {

View File

@ -4,6 +4,6 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace VPet.Plugin.ModMaker.ViewModels.ModEdit.PetEdit; namespace VPet.ModMaker.ViewModels.ModEdit.PetEdit;
public class PetPageVM { } public class PetPageVM { }

View File

@ -6,11 +6,11 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.Views; using VPet.ModMaker.Views;
using VPet.Plugin.ModMaker.Views.ModEdit; using VPet.ModMaker.Views.ModEdit;
namespace VPet.Plugin.ModMaker.ViewModels; namespace VPet.ModMaker.ViewModels;
public class ModMakerWindowVM public class ModMakerWindowVM
{ {

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.Window_AddLang" x:Class="VPet.ModMaker.Views.ModEdit.Window_AddLang"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit"
Title="Window_AddLang" Title="Window_AddLang"
Width="400" Width="400"
Height="300" Height="300"

View File

@ -14,10 +14,10 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit; using VPet.ModMaker.ViewModels.ModEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit; namespace VPet.ModMaker.Views.ModEdit;
/// <summary> /// <summary>
/// Window_AddLang.xaml 的交互逻辑 /// Window_AddLang.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit.ClickTextEditWindow" x:Class="VPet.ModMaker.Views.ModEdit.ClickTextEdit.ClickTextEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.ClickTextEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit"
Title="ClickTextWindow" Title="ClickTextWindow"
Width="800" Width="800"
Height="450" Height="450"

View File

@ -11,10 +11,10 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit; using VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit; namespace VPet.ModMaker.Views.ModEdit.ClickTextEdit;
/// <summary> /// <summary>
/// ClickTextWindow.xaml 的交互逻辑 /// ClickTextWindow.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Page <Page
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit.ClickTextPage" x:Class="VPet.ModMaker.Views.ModEdit.ClickTextEdit.ClickTextPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.ClickTextEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit"
Title="ClickTextPage" Title="ClickTextPage"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"

View File

@ -12,10 +12,10 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.ClickTextEdit; using VPet.ModMaker.ViewModels.ModEdit.ClickTextEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit; namespace VPet.ModMaker.Views.ModEdit.ClickTextEdit;
/// <summary> /// <summary>
/// ClickTextPage.xaml 的交互逻辑 /// ClickTextPage.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit.FoodEditWindow" x:Class="VPet.ModMaker.Views.ModEdit.FoodEdit.FoodEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.FoodEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.FoodEdit"
Title="Window_FoodEdit" Title="Window_FoodEdit"
Width="800" Width="800"
Height="450" Height="450"

View File

@ -12,11 +12,11 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit; using VPet.ModMaker.ViewModels.ModEdit.FoodEdit;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit; namespace VPet.ModMaker.Views.ModEdit.FoodEdit;
/// <summary> /// <summary>
/// AddFoodWindow.xaml 的交互逻辑 /// AddFoodWindow.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Page <Page
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit.FoodPage" x:Class="VPet.ModMaker.Views.ModEdit.FoodEdit.FoodPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.FoodEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.FoodEdit"
Title="Page_Food" Title="Page_Food"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"

View File

@ -14,11 +14,11 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.FoodEdit; using VPet.ModMaker.ViewModels.ModEdit.FoodEdit;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit; namespace VPet.ModMaker.Views.ModEdit.FoodEdit;
/// <summary> /// <summary>
/// Page_Food.xaml 的交互逻辑 /// Page_Food.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit.LowTextEditWindow" x:Class="VPet.ModMaker.Views.ModEdit.LowTextEdit.LowTextEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.LowTextEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.LowTextEdit"
Title="Page_LowText" Title="Page_LowText"
Width="800" Width="800"
Height="450" Height="450"

View File

@ -12,10 +12,10 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit; using VPet.ModMaker.ViewModels.ModEdit.LowTextEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit; namespace VPet.ModMaker.Views.ModEdit.LowTextEdit;
/// <summary> /// <summary>
/// Window_AddLowText.xaml 的交互逻辑 /// Window_AddLowText.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Page <Page
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit.LowTextPage" x:Class="VPet.ModMaker.Views.ModEdit.LowTextEdit.LowTextPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.LowTextEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.LowTextEdit"
Title="Page_LowText" Title="Page_LowText"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"

View File

@ -14,11 +14,11 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.LowTextEdit; using VPet.ModMaker.ViewModels.ModEdit.LowTextEdit;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit; namespace VPet.ModMaker.Views.ModEdit.LowTextEdit;
/// <summary> /// <summary>
/// Page_LowText.xaml 的交互逻辑 /// Page_LowText.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.ModEditWindow" x:Class="VPet.ModMaker.Views.ModEdit.ModEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit"
Title="ModEditWindow" Title="ModEditWindow"
Width="800" Width="800"
Height="450" Height="450"

View File

@ -16,13 +16,13 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.ViewModels.ModEdit; using VPet.ModMaker.ViewModels.ModEdit;
using VPet.Plugin.ModMaker.Views.ModEdit.ClickTextEdit; using VPet.ModMaker.Views.ModEdit.ClickTextEdit;
using VPet.Plugin.ModMaker.Views.ModEdit.FoodEdit; using VPet.ModMaker.Views.ModEdit.FoodEdit;
using VPet.Plugin.ModMaker.Views.ModEdit.LowTextEdit; using VPet.ModMaker.Views.ModEdit.LowTextEdit;
using VPet_Simulator.Windows.Interface; using VPet_Simulator.Windows.Interface;
namespace VPet.Plugin.ModMaker.Views.ModEdit; namespace VPet.ModMaker.Views.ModEdit;
/// <summary> /// <summary>
/// winModInfo.xaml 的交互逻辑 /// winModInfo.xaml 的交互逻辑

View File

@ -1,12 +1,12 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModEdit.PetEdit.PetEditWindow" x:Class="VPet.ModMaker.Views.ModEdit.PetEdit.PetEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.PetEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.PetEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui" xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels.ModEdit.PetEdit" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels.ModEdit.PetEdit"
Title="PetEditWindow" Title="PetEditWindow"
Width="800" Width="800"
Height="450" Height="450"

View File

@ -11,9 +11,9 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.PetEdit; using VPet.ModMaker.ViewModels.ModEdit.PetEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit.PetEdit; namespace VPet.ModMaker.Views.ModEdit.PetEdit;
/// <summary> /// <summary>
/// PetEditWindow.xaml 的交互逻辑 /// PetEditWindow.xaml 的交互逻辑

View File

@ -1,9 +1,9 @@
<Page x:Class="VPet.Plugin.ModMaker.Views.ModEdit.PetEdit.PetPage" <Page x:Class="VPet.ModMaker.Views.ModEdit.PetEdit.PetPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views.ModEdit.PetEdit" xmlns:local="clr-namespace:VPet.ModMaker.Views.ModEdit.PetEdit"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" d:DesignHeight="450" d:DesignWidth="800"
Title="PetPage"> Title="PetPage">

View File

@ -12,9 +12,9 @@ using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.ViewModels.ModEdit.PetEdit; using VPet.ModMaker.ViewModels.ModEdit.PetEdit;
namespace VPet.Plugin.ModMaker.Views.ModEdit.PetEdit; namespace VPet.ModMaker.Views.ModEdit.PetEdit;
/// <summary> /// <summary>
/// PetPage.xaml 的交互逻辑 /// PetPage.xaml 的交互逻辑

View File

@ -1,13 +1,13 @@
<Window <Window
x:Class="VPet.Plugin.ModMaker.Views.ModMakerWindow" x:Class="VPet.ModMaker.Views.ModMakerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF" xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Plugin.ModMaker.Views" xmlns:local="clr-namespace:VPet.ModMaker.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI" xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI"
xmlns:vm="clr-namespace:VPet.Plugin.ModMaker.ViewModels" xmlns:vm="clr-namespace:VPet.ModMaker.ViewModels"
Title="{ll:Str Mod制作器}" Title="{ll:Str Mod制作器}"
Width="600" Width="600"
Height="450" Height="450"

View File

@ -13,12 +13,12 @@ using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using System.Windows.Shapes; using System.Windows.Shapes;
using VPet.Plugin.ModMaker.Models; using VPet.ModMaker.Models;
using VPet.Plugin.ModMaker.ViewModels; using VPet.ModMaker.ViewModels;
using VPet.Plugin.ModMaker.Views.ModEdit; using VPet.ModMaker.Views.ModEdit;
using VPet.Plugin.ModMaker.Views.ModEdit.PetEdit; using VPet.ModMaker.Views.ModEdit.PetEdit;
namespace VPet.Plugin.ModMaker.Views; namespace VPet.ModMaker.Views;
/// <summary> /// <summary>
/// winModMaker.xaml 的交互逻辑 /// winModMaker.xaml 的交互逻辑

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,7 +0,0 @@
vupmod#DemoClock:|author#LorisYounger[认证]:|gamever#100:|ver#100:|
intro#给桌宠添加一个时钟显示的功能/com这算是代码嵌入类型MOD的DEMO:|
authorid#253101309:|
itemid#2980456794:|
lang#en:|给桌宠添加一个时钟显示的功能,这算是代码嵌入类型MOD的DEMO#Add a clock display function to the table pet, which can be considered as a code embedding type of MOD DEMO:|DemoClock#Demo Clock:|
lang#zh-Hans:|给桌宠添加一个时钟显示的功能,这算是代码嵌入类型MOD的DEMO#给桌宠添加一个时钟显示的功能,这算是代码嵌入类型MOD的DEMO:|DemoClock#DEMO 时钟:|
lang#zh-Hant:|给桌宠添加一个时钟显示的功能,这算是代码嵌入类型MOD的DEMO#給桌寵添加一個時鐘顯示的功能,這算是程式碼嵌入類型MOD的DEMO:|DemoClock#DEMO 时钟:|

View File

@ -1,66 +0,0 @@
DM时钟#Demo Clock:|
设置#Setting:|
开始倒计时#Start Countdown:|
开始正计时#Start Timing:|
开始工作#Start working:|
开始休息#Start rest:|
计时: {0:f1} 秒#Timing: {0:f1} seconds:|
计时: {0:f1} 分钟#Timing: {0:f1} minutes:|
计时: {0:f1} 小时#Timing: {0:f1} hours:|
时间到#Time expired:|
计时结束#End of timer:|
点击此处回到时间显示#Click here to go back to the time display:|
剩余: {0:f1} 秒#Remaining: {0:f1} seconds:|
剩余: {0:f1} 分钟#Remaining: {0:f1} minutes:|
剩余: {0:f1} 小时#Remaining: {0:f1} hours:|
工作结束#End of work:|
点击此处开始休息#Click here to start break:|
工作剩{0:f1}秒#{0:f1} seconds remaining:|
工作剩{0:f1}分钟#{0:f1}minutes left to work:|
工作剩{0:f1}小时#{0:f1}hours of work left.:|
休息结束#End of break:|
点击此处开始工作#Click here to start working:|
休息剩{0:f1}秒#Break {0:f1}seconds left:|
休息剩{0:f1}分钟#Minutes left in the rest period:|
休息剩{0:f1}小时#Break left {0:f1}hours:|
长休息结束#End of rest:|
计时暂停#Timeout pause:|
番茄点数 {0} 累计点数 {1}#Tomato Points {0} Cumulative Points {1}:|
暂停倒计时#Pause countdown:|
继续倒计时#Continue countdown:|
暂停计时#Pause Timer:|
继续计时#Continue countdown:|
停止工作#Stop working:|
是否停止当前工作?#Does it stop the current job?:|
停止休息#Stop break:|
是否停止当前休息?#Is the current break stopped?:|
是否停止当前休息?\n扣除的番茄不会被退还#Does it stop the current rest? \n Deducted tomatoes will not be refunded.:|
是否开始休息?\n休息所需番茄 {0}\n当前拥有番茄 {1}#Do you start the break? \nRequired tomatoes for break {0}\nCurrently have tomatoes {1}:|
当前番茄不足,不能开始长休息\n休息所需番茄 {0}\n当前拥有番茄 {1}#We can't start a rest if we don't have enough tomatoes. \nTomatoes needed for break {0}\nCurrently have tomatoes {1}:|
休息失败,请好好工作#Break failed. Please work hard.:|
基本时间设置#Basic Time Setting:|
24小时制#24 hours:|
时钟位置#Clock position:|
闲置透明度#Idle Transparency:|
显示层次#Display level:|
时间偏移#Time Offset:|
默认倒计时#Default countdown:|
倒计时语音#Countdown voice:|
关闭时钟#Clock off:|
显示时间时启用24小时制#Enable 24-hour system when displaying time:|
闲置时置于桌宠后方#Behind desk favor when idle:|
选择位置#Select:|
前往 设置-MOD设置 启用/停用MOD#Go to Settings - MOD Settings:|
番茄钟相关设置#Tomato clock related settings:|
工作时长#Working hours:|
休息时长#Break duration:|
长休息时长#Rest Duration:|
工作语音#Work Voice:|
休息语音#Break Voice:|
结束语音#End voice:|
语音预设#Voice preset:|
setwidth#550:|
Demo Clock 设置#Demo Clock Settings:|
倒计时时间设定#Countdown Time Setting:|
请输入倒计时时间#Please enter the countdown time:|
确定#OK:|

View File

@ -1,66 +0,0 @@
DM时钟#DM时钟:|
设置#设置:|
开始倒计时#开始倒计时:|
开始正计时#开始正计时:|
开始工作#开始工作:|
开始休息#开始休息:|
计时: {0:f1} 秒#计时: {0:f1} 秒:|
计时: {0:f1} 分钟#计时: {0:f1} 分钟:|
计时: {0:f1} 小时#计时: {0:f1} 小时:|
时间到#时间到:|
计时结束#计时结束:|
点击此处回到时间显示#点击此处回到时间显示:|
剩余: {0:f1} 秒#剩余: {0:f1} 秒:|
剩余: {0:f1} 分钟#剩余: {0:f1} 分钟:|
剩余: {0:f1} 小时#剩余: {0:f1} 小时:|
工作结束#工作结束:|
点击此处开始休息#点击此处开始休息:|
工作剩{0:f1}秒#工作剩{0:f1}秒:|
工作剩{0:f1}分钟#工作剩{0:f1}分钟:|
工作剩{0:f1}小时#工作剩{0:f1}小时:|
休息结束#休息结束:|
点击此处开始工作#点击此处开始工作:|
休息剩{0:f1}秒#休息剩{0:f1}秒:|
休息剩{0:f1}分钟#休息剩{0:f1}分钟:|
休息剩{0:f1}小时#休息剩{0:f1}小时:|
长休息结束#长休息结束:|
计时暂停#计时暂停:|
番茄点数 {0} 累计点数 {1}#番茄点数 {0} 累计点数 {1}:|
暂停倒计时#暂停倒计时:|
继续倒计时#继续倒计时:|
暂停计时#暂停计时:|
继续计时#继续计时:|
停止工作#停止工作:|
是否停止当前工作?#是否停止当前工作?:|
停止休息#停止休息:|
是否停止当前休息?#是否停止当前休息?:|
是否停止当前休息?\n扣除的番茄不会被退还#是否停止当前休息?\n扣除的番茄不会被退还:|
是否开始休息?\n休息所需番茄 {0}\n当前拥有番茄 {1}#是否开始休息?\n休息所需番茄 {0}\n当前拥有番茄 {1}:|
当前番茄不足,不能开始长休息\n休息所需番茄 {0}\n当前拥有番茄 {1}#当前番茄不足,不能开始长休息\n休息所需番茄 {0}\n当前拥有番茄 {1}:|
休息失败,请好好工作#休息失败,请好好工作:|
基本时间设置#基本时间设置:|
24小时制#24小时制:|
时钟位置#时钟位置:|
闲置透明度#闲置透明度:|
显示层次#显示层次:|
时间偏移#时间偏移:|
默认倒计时#默认倒计时:|
倒计时语音#倒计时语音:|
关闭时钟#关闭时钟:|
显示时间时启用24小时制#显示时间时启用24小时制:|
闲置时置于桌宠后方#闲置时置于桌宠后方:|
选择位置#选择位置:|
前往 设置-MOD设置 启用/停用MOD#前往 设置-MOD设置 启用/停用MOD:|
番茄钟相关设置#番茄钟相关设置:|
工作时长#工作时长:|
休息时长#休息时长:|
长休息时长#长休息时长:|
工作语音#工作语音:|
休息语音#休息语音:|
结束语音#结束语音:|
语音预设#语音预设:|
setwidth#450:|
Demo Clock 设置#Demo Clock 设置:|
倒计时时间设定#倒计时时间设定:|
请输入倒计时时间#请输入倒计时时间:|
确定#确定:|

View File

@ -1,66 +0,0 @@
DM时钟#DM時鐘:|
设置#設定:|
开始倒计时#開始倒數計時:|
开始正计时#開始正計時:|
开始工作#開始工作:|
开始休息#開始休息:|
计时: {0:f1} 秒#計時:{0:f1}秒:|
计时: {0:f1} 分钟#計時:{0:f1}分鐘:|
计时: {0:f1} 小时#計時:{0:f1}小時:|
时间到#時間到:|
计时结束#計時結束:|
点击此处回到时间显示#點擊此處回到時間顯示:|
剩余: {0:f1} 秒#剩餘:{0:f1}秒:|
剩余: {0:f1} 分钟#剩餘:{0:f1}分鐘:|
剩余: {0:f1} 小时#剩餘:{0:f1}小時:|
工作结束#工作結束:|
点击此处开始休息#點擊此處開始休息:|
工作剩{0:f1}秒#工作剩{0:f1}秒:|
工作剩{0:f1}分钟#工作剩{0:f1}分鐘:|
工作剩{0:f1}小时#工作剩{0:f1}小時:|
休息结束#休息結束:|
点击此处开始工作#點擊此處開始工作:|
休息剩{0:f1}秒#休息剩{0:f1}秒:|
休息剩{0:f1}分钟#休息剩{0:f1}分鐘:|
休息剩{0:f1}小时#休息剩{0:f1}小時:|
长休息结束#長休息結束:|
计时暂停#計時暫停:|
番茄点数 {0} 累计点数 {1}#蕃茄點數{0}累計點數{1}:|
暂停倒计时#暫停倒數計時:|
继续倒计时#繼續倒數計時:|
暂停计时#暫停計時:|
继续计时#繼續計時:|
停止工作#停止工作:|
是否停止当前工作?#是否停止當前工作?:|
停止休息#停止休息:|
是否停止当前休息?#是否停止當前休息?:|
是否停止当前休息?\n扣除的番茄不会被退还#是否停止當前休息? \n扣除的蕃茄不會被退還:|
是否开始休息?\n休息所需番茄 {0}\n当前拥有番茄 {1}#是否開始休息? \n休息所需蕃茄{0}\n當前擁有蕃茄{1}:|
当前番茄不足,不能开始长休息\n休息所需番茄 {0}\n当前拥有番茄 {1}#當前蕃茄不足,不能開始長休息\n休息所需蕃茄{0}\n當前擁有蕃茄{1}:|
休息失败,请好好工作#休息失敗,請好好工作:|
基本时间设置#基本時間設定:|
24小时制#24小時制:|
时钟位置#時鐘位置:|
闲置透明度#閒置透明度:|
显示层次#顯示層次:|
时间偏移#時間偏移:|
默认倒计时#默認倒數計時:|
倒计时语音#倒數計時語音:|
关闭时钟#關閉時鐘:|
显示时间时启用24小时制#顯示時間時啟用24小時制:|
闲置时置于桌宠后方#閒置時置於桌寵後方:|
选择位置#選擇位置:|
前往 设置-MOD设置 启用/停用MOD#前往設定-MOD設定啟用/停用MOD:|
番茄钟相关设置#蕃茄鐘相關設定:|
工作时长#工作時長:|
休息时长#休息時長:|
长休息时长#長休息時長:|
工作语音#工作語音:|
休息语音#休息語音:|
结束语音#結束語音:|
语音预设#語音預設:|
setwidth#450:|
Demo Clock 设置#Demo Clock 設定:|
倒计时时间设定#倒數計時時間設定:|
请输入倒计时时间#請輸入倒數計時時間:|
确定#確定:|

View File

@ -1,564 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>LinePutScript.Localization.WPF</name>
</assembly>
<members>
<member name="T:LinePutScript.Localization.WPF.BoolExtension">
<summary>
WPF绑定转换成Bool
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.KeySource">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.DefValue">
<summary>
默认值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.DefValueSource">
<summary>
默认值
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.#ctor(System.String)">
<summary>
WPF绑定转换Bool
</summary>
<param name="key">查找值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.#ctor(System.Windows.Data.Binding,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Bool
</summary>
<param name="keySource">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.#ctor(System.Windows.Data.Binding,System.Boolean)">
<summary>
WPF绑定转换Bool
</summary>
<param name="keySource">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.#ctor(System.String,System.Boolean)">
<summary>
WPF绑定转换Bool
</summary>
<param name="key">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.#ctor(System.String,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Bool
</summary>
<param name="key">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.ProvideValue(System.IServiceProvider)">
<summary>
</summary>
<param name="serviceProvider"></param>
<returns></returns>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.LocalConverter.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.BoolExtension.LocalConverter.DefValue">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.BoolExtension.LocalConverter.#ctor(System.String,System.Boolean)">
<summary>
生成一个WPF绑定转换成字符串, 开发者无需使用这个
</summary>
</member>
<member name="T:LinePutScript.Localization.WPF.Int64Extension">
<summary>
WPF绑定转换成Int64
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.KeySource">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.DefValue">
<summary>
默认值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.DefValueSource">
<summary>
默认值
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.#ctor(System.String)">
<summary>
WPF绑定转换Int64
</summary>
<param name="key">查找值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.#ctor(System.Windows.Data.Binding,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Int64
</summary>
<param name="keySource">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.#ctor(System.Windows.Data.Binding,System.Int64)">
<summary>
WPF绑定转换Int64
</summary>
<param name="keySource">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.#ctor(System.String,System.Int64)">
<summary>
WPF绑定转换Int64
</summary>
<param name="key">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.#ctor(System.String,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Int64
</summary>
<param name="key">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.ProvideValue(System.IServiceProvider)">
<summary>
</summary>
<param name="serviceProvider"></param>
<returns></returns>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.LocalConverter.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.Int64Extension.LocalConverter.DefValue">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.Int64Extension.LocalConverter.#ctor(System.String,System.Int64)">
<summary>
生成一个WPF绑定转换成字符串, 开发者无需使用这个
</summary>
</member>
<member name="T:LinePutScript.Localization.WPF.DbeExtension">
<summary>
WPF绑定转换成Dbe
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.KeySource">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.DefValue">
<summary>
默认值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.DefValueSource">
<summary>
默认值
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.#ctor(System.String)">
<summary>
WPF绑定转换Dbe
</summary>
<param name="key">查找值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.#ctor(System.Windows.Data.Binding,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Dbe
</summary>
<param name="keySource">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.#ctor(System.Windows.Data.Binding,System.Double)">
<summary>
WPF绑定转换Dbe
</summary>
<param name="keySource">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.#ctor(System.String,System.Double)">
<summary>
WPF绑定转换Dbe
</summary>
<param name="key">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.#ctor(System.String,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Dbe
</summary>
<param name="key">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.ProvideValue(System.IServiceProvider)">
<summary>
</summary>
<param name="serviceProvider"></param>
<returns></returns>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.LocalConverter.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.DbeExtension.LocalConverter.DefValue">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.DbeExtension.LocalConverter.#ctor(System.String,System.Double)">
<summary>
生成一个WPF绑定转换成字符串, 开发者无需使用这个
</summary>
</member>
<member name="T:LinePutScript.Localization.WPF.IntExtension">
<summary>
WPF绑定转换成Int
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.KeySource">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.DefValue">
<summary>
默认值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.DefValueSource">
<summary>
默认值
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.#ctor(System.String)">
<summary>
WPF绑定转换Int
</summary>
<param name="key">查找值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.#ctor(System.Windows.Data.Binding,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Int
</summary>
<param name="keySource">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.#ctor(System.Windows.Data.Binding,System.Int32)">
<summary>
WPF绑定转换Int
</summary>
<param name="keySource">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.#ctor(System.String,System.Int32)">
<summary>
WPF绑定转换Int
</summary>
<param name="key">查找值</param>
<param name="defvalue">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.#ctor(System.String,System.Windows.Data.Binding)">
<summary>
WPF绑定转换Int
</summary>
<param name="key">查找值</param>
<param name="defvalueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.ProvideValue(System.IServiceProvider)">
<summary>
</summary>
<param name="serviceProvider"></param>
<returns></returns>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.LocalConverter.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.IntExtension.LocalConverter.DefValue">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.IntExtension.LocalConverter.#ctor(System.String,System.Int32)">
<summary>
生成一个WPF绑定转换成字符串, 开发者无需使用这个
</summary>
</member>
<member name="T:LinePutScript.Localization.WPF.LocalizeCore">
<summary>
本地化核心
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.StoreTranslation">
<summary>
开启此项目以自动收集未翻译文本
</summary>
</member>
<member name="F:LinePutScript.Localization.WPF.LocalizeCore.StoreTranslationList">
<summary>
储存的需要/未翻译的文本
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.StoreTranslationListToLPS">
<summary>
将未翻译的文本导出成LPS格式,可以直接储存
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.StoreTranslationListToList">
<summary>
将未翻译的文本导出成List string格式, 方便查看
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.CurrentCulture">
<summary>
当前本地化语言
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.TranslateFunc">
<summary>
手动代码实现的本地化语言
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.AvailableCultures">
<summary>
当前有的本地化语言
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.LoadDefaultCulture">
<summary>
加载当前电脑的默认本地化语言
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.LoadCulture(System.Globalization.CultureInfo)">
<summary>
加载指定的本地化语言
</summary>
<param name="culture">区域性信息</param>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.LoadCulture(System.String)">
<summary>
加载指定的本地化语言
</summary>
<param name="culture">区域性文本</param>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.Find(System.String)">
<summary>
查找指定的数据
</summary>
<param name="key">查找值</param>
<returns>返回的数据</returns>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.Translate(System.String)">
<summary>
翻译文本
</summary>
<param name="key">翻译内容</param>
<returns>翻译后的文本</returns>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.Translate(System.String,System.Object[])">
<summary>
翻译文本
</summary>
<param name="key">翻译内容</param>
<param name="replace">替换内容 {0:f2}{1}..</param>
<returns>翻译后的文本</returns>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.GetDouble(System.String,System.Double)">
<summary>
获得Double数据
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.GetInt(System.String,System.Int32)">
<summary>
获得Int数据
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.GetBool(System.String,System.Boolean)">
<summary>
获得Bool数据
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.GetInt64(System.String,System.Int64)">
<summary>
获得Int64数据
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.AddCulture(System.String,System.Collections.Generic.IEnumerable{LinePutScript.ILine})">
<summary>
添加本地化语言
</summary>
<param name="culture">区域性文本</param>
<param name="file">本地化文件</param>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.AddCulture(System.String,LinePutScript.ILine)">
<summary>
添加本地化语言
</summary>
<param name="culture">区域性文本</param>
<param name="line">单行</param>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.AddCulture(System.String,System.String,System.String)">
<summary>
添加本地化语言
</summary>
<param name="culture">区域性文本</param>
<param name="key">匹配名称</param>
<param name="value">储存值</param>
</member>
<member name="T:LinePutScript.Localization.WPF.LocalizeCore.NotifyChanged">
<summary>
通知更改
</summary>
</member>
<member name="E:LinePutScript.Localization.WPF.LocalizeCore.NotifyChanged.PropertyChanged">
<summary>
PropertyChanged
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.LocalizeCore.NotifyChanged.Notify">
<summary>
通知更改
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.NotifyChanged.TmpString">
<summary>
没啥用的文本,用于检测绑定
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.NotifyChanged.Localizations">
<summary>
获取隐藏的 localizations
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.LocalizeCore.BindingNotify">
<summary>
绑定通知更改 PropertyChanged
</summary>
</member>
<member name="T:LinePutScript.Localization.WPF.StrExtension">
<summary>
WPF绑定转换成字符串
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.KeySource">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.Value">
<summary>
替换词
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.ValueSource">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.#ctor(System.String)">
<summary>
WPF绑定转换字符串
</summary>
<param name="key">查找值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.#ctor(System.Windows.Data.Binding,System.Windows.Data.Binding)">
<summary>
WPF绑定转换字符串
</summary>
<param name="keySource">查找值</param>
<param name="valueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.#ctor(System.Windows.Data.Binding,System.Object)">
<summary>
WPF绑定转换字符串
</summary>
<param name="keySource">查找值</param>
<param name="value">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.#ctor(System.String,System.Object)">
<summary>
WPF绑定转换字符串
</summary>
<param name="key">查找值</param>
<param name="value">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.#ctor(System.String,System.Windows.Data.Binding)">
<summary>
WPF绑定转换字符串
</summary>
<param name="key">查找值</param>
<param name="valueSource">默认值</param>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.ProvideValue(System.IServiceProvider)">
<summary>
</summary>
<param name="serviceProvider"></param>
<returns></returns>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.LocalConverter.Key">
<summary>
查找值
</summary>
</member>
<member name="P:LinePutScript.Localization.WPF.StrExtension.LocalConverter.Value">
<summary>
替换词
</summary>
</member>
<member name="M:LinePutScript.Localization.WPF.StrExtension.LocalConverter.#ctor(System.String,System.Object)">
<summary>
生成一个WPF绑定转换成字符串, 开发者无需使用这个
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@ -1,642 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>VPet-Simulator.Windows.Interface</name>
</assembly>
<members>
<member name="T:VPet_Simulator.Windows.Interface.IMainWindow">
<summary>
游戏主窗体
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.IsSteamUser">
<summary>
是否为Steam用户
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Set">
<summary>
游戏设置
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Pets">
<summary>
宠物加载器列表
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Core">
<summary>
桌宠数据核心
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Main">
<summary>
桌宠主要部件
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.verison">
<summary>
版本号
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Verison">
<summary>
版本号
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.lastclicktime">
<summary>
上次点击时间 (Tick)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Plugins">
<summary>
所有三方插件
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.Foods">
<summary>
所有食物
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.LowFoodText">
<summary>
需要食物时会说的话
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.LowDrinkText">
<summary>
需要饮料时会说的话
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.ImageSources">
<summary>
图片资源
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.SetZoomLevel(System.Double)">
<summary>
设置游戏缩放倍率
</summary>
<param name="zl">缩放倍率 范围0.1-10</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.Save">
<summary>
保存设置
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.LoadDIY">
<summary>
加载DIY内容
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.ShowSetting(System.Int32)">
<summary>
显示设置页面
</summary>
<param name="page">设置页</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.ShowBetterBuy(VPet_Simulator.Windows.Interface.Food.FoodType)">
<summary>
显示更好买页面
</summary>
<param name="type">食物类型</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.Close">
<summary>
关闭桌宠
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.IMainWindow.Restart">
<summary>
重启桌宠
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.MouseHitThrough">
<summary>
鼠标穿透
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.IMainWindow.HashCheck">
<summary>
存档 Hash检查 是否通过
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.LowText">
<summary>
低状态自动说的话
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.LowText.ModeType">
<summary>
状态
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.ModeType.H">
<summary>
高状态: 开心/普通
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.ModeType.L">
<summary>
低状态: 低状态/生病
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.LowText.Mode">
<summary>
状态
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.LowText.StrengthType">
<summary>
体力
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.StrengthType.L">
<summary>
一般口渴/饥饿
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.StrengthType.M">
<summary>
有点口渴/饥饿
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.StrengthType.S">
<summary>
非常口渴/饥饿
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.LowText.Strength">
<summary>
体力
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.LowText.LikeType">
<summary>
好感度要求
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.LikeType.N">
<summary>
不需要好感度
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.LikeType.S">
<summary>
低好感度需求
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.LikeType.M">
<summary>
中好感度需求
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.LowText.LikeType.L">
<summary>
高好感度
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.LowText.Like">
<summary>
好感度要求
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.LowText.Text">
<summary>
说话的内容
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.LowText.TranslateText">
<summary>
说话的内容 (翻译)
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.Food.FoodType">
<summary>
食物类型
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Food">
<summary>
食物 (默认)
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Star">
<summary>
收藏 (自定义)
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Meal">
<summary>
正餐
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Snack">
<summary>
零食
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Drink">
<summary>
饮料
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Functional">
<summary>
功能性
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Drug">
<summary>
药品
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.FoodType.Gift">
<summary>
礼品 (没做)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Type">
<summary>
食物类型
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Name">
<summary>
食物名字
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.TranslateName">
<summary>
食物名字 (翻译)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Price">
<summary>
食物价格
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Desc">
<summary>
描述
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Description">
<summary>
描述(ToBetterBuy)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.ImageSource">
<summary>
显示的图片
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Food.Star">
<summary>
是否已收藏
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Food.Image">
<summary>
物品图片
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Food.LoadImageSource(VPet_Simulator.Windows.Interface.IMainWindow)">
<summary>
加载物品图片
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.MainPlugin">
<summary>
这是插件的主体内容 请继承这个类
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.MainPlugin.PluginName">
<summary>
通过插件名称定位插件
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.MainPlugin.MW">
<summary>
主窗体, 主程序提供的各种功能和设置等 大部分参数和调用均在这里
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.#ctor(VPet_Simulator.Windows.Interface.IMainWindow)">
<summary>
MOD插件初始化
</summary>
<param name="mainwin">主窗体</param>
请不要加载游戏和玩家数据,仅用作初始化
加载数据(CORE)/游戏(SAVE),请使用 LoadPlugin
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.LoadPlugin">
<summary>
初始化程序+读取存档
</summary>
例:添加自己的Tick到 mw.Main.EventTimer
例:创建使用UI的桌面控件
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.EndGame">
<summary>
游戏结束 (可以保存或清空等,不过保存有专门的Save())
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.Save">
<summary>
储存游戏 (可以写 GameSave.Other 储存设置和数据等)
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.Setting">
<summary>
打开代码插件设置
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.MainPlugin.LoadDIY">
<summary>
重载DIY按钮, 如需添加自定义按钮可在此处添加
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.Setting">
<summary>
游戏设置
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Setting.#ctor(System.String)">
<summary>
游戏设置
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Setting.Statistics">
<summary>
统计数据信息
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.ZoomLevel">
<summary>
缩放倍率
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.VoiceVolume">
<summary>
播放声音大小
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.IsBiggerScreen">
<summary>
是否为更大的屏幕
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.Diagnosis">
<summary>
是否启用数据收集 //TODO:判断游戏是否是原版的
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.CalFunState">
<summary>
非计算模式下默认模式
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.DiagnosisInterval">
<summary>
数据收集频率
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.AutoSaveInterval">
<summary>
自动保存频率 (min)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.BackupSaveMaxNum">
<summary>
备份保存最大数量
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.TopMost">
<summary>
是否置于顶层
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.PetHelper">
<summary>
是否显示宠物帮助窗口
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.HitThrough">
<summary>
是否鼠标穿透
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.LastCacheDate">
<summary>
上次清理缓存日期
</summary>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Setting.DiagnosisDayEnable">
<summary>
数据收集是否被禁止(当日)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.Language">
<summary>
语言
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.PressLength">
<summary>
按多久视为长按 单位毫秒
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.InteractionCycle">
<summary>
互动周期
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.LogicInterval">
<summary>
计算间隔 (秒)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.PetHelpLeft">
<summary>
计算间隔
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.PetHelpTop">
<summary>
计算间隔
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.AllowMove">
<summary>
允许移动事件
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.SmartMove">
<summary>
智能移动
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.EnableFunction">
<summary>
启用计算等数据功能
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.SmartMoveInterval">
<summary>
智能移动周期 (秒)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.MessageBarOutside">
<summary>
消息框外置
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.StartUPBoot">
<summary>
开机启动
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.StartUPBootSteam">
<summary>
开机启动 Steam
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.PetGraph">
<summary>
桌宠选择内容
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.StartRecordLast">
<summary>
是否记录游戏退出位置 (默认:是)
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.StartRecordLastPoint">
<summary>
记录上次退出位置
</summary>
</member>
<member name="P:VPet_Simulator.Windows.Interface.Setting.StartRecordPoint">
<summary>
设置中桌宠启动的位置
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.Resources">
<summary>
资源集
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.AddSource(LinePutScript.ILine,System.String)">
<summary>
添加资源,后来覆盖之前
</summary>
<param name="line">资源行</param>
<param name="modpath">功能位置</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.AddSource(LinePutScript.ILine)">
<summary>
添加资源,后来覆盖之前
</summary>
<param name="line">资源行</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.AddSources(LinePutScript.ILPS)">
<summary>
添加多个资源,后来覆盖之前
</summary>
<param name="lps">资源表</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.AddSources(LinePutScript.ILPS,System.String)">
<summary>
添加多个资源,后来覆盖之前
</summary>
<param name="lps">资源表</param>
<param name="modpath">功能位置</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.AddSource(System.String,System.String)">
<summary>
添加资源,后来覆盖之前的
</summary>
<param name="name">资源名字</param>
<param name="path">资源位置</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.FindSource(System.String,System.String)">
<summary>
查找资源
</summary>
<param name="name">资源名称</param>
<param name="nofind">如果未找到,退回这个值</param>
<returns>返回资源位置,如果未找到,则退回nofind</returns>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Resources.FindSourceUri(System.String,System.String)">
<summary>
查找资源
</summary>
<param name="name">资源名称</param>
<param name="nofind">如果未找到,退回这个值</param>
<returns>返回资源位置,如果未找到,则退回nofind</returns>
</member>
<member name="T:VPet_Simulator.Windows.Interface.ImageResources">
<summary>
图片资源集合
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.ImageResources.AddImages(LinePutScript.LpsDocument,System.String)">
<summary>
添加图片集,后来覆盖之前
</summary>
<param name="lps">图片集</param>
<param name="modpath">文件夹位置</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.ImageResources.AddImage(LinePutScript.ILine,System.String)">
<summary>
添加单个图片,后来覆盖之前
</summary>
<param name="line">图片行</param>
<param name="modpath">文件夹位置</param>
</member>
<member name="M:VPet_Simulator.Windows.Interface.ImageResources.FindImage(System.String)">
<summary>
查找图片资源
</summary>
<param name="imagename">图片名称</param>
<returns>图片资源,如果未找到则退回错误提示图片</returns>
</member>
<member name="M:VPet_Simulator.Windows.Interface.ImageResources.FindImage(System.String,System.String)">
<summary>
查找图片资源 如果找不到则使用上级
</summary>
<param name="imagename">图片名称</param>
<returns>图片资源,如果未找到则退回错误提示图片</returns>
<param name="superior">上级图片 如果没有专属的图片,则提供上级的图片</param>
</member>
<member name="F:VPet_Simulator.Windows.Interface.ImageResources.ImageSetting">
<summary>
图片设置 (eg:定位锚点等)
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.Statistics">
<summary>
统计
</summary>
</member>
<member name="T:VPet_Simulator.Windows.Interface.Statistics.StatisticChangedEventHandler">
<summary>
统计变化通知事件
</summary>
<param name="sender">发送的统计(this)</param>
<param name="name">变动的名称</param>
<param name="value">变动的值</param>
</member>
<member name="F:VPet_Simulator.Windows.Interface.Statistics.Data">
<summary>
统计数据字典
</summary>
</member>
<member name="M:VPet_Simulator.Windows.Interface.Statistics.ToSubs">
<summary>
输出统计数据
</summary>
</member>
</members>
</doc>

View File

@ -1,45 +0,0 @@
<Window x:Class="VPet.Plugin.DemoClock.CountDownInput" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI" xmlns:local="clr-namespace:VPet.Plugin.DemoClock"
mc:Ignorable="d" Title="{ll:Str 倒计时时间设定}" Height="150" Width="400" FontSize="18">
<Window.Resources>
<ResourceDictionary Source="/VPet-Simulator.Windows.Interface;component/ResourceStyle.xaml" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height=".5*" />
<RowDefinition Height="*" />
<RowDefinition Height="3*" />
<RowDefinition Height="1*" />
<RowDefinition Height=".5*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".5*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width=".5*" />
</Grid.ColumnDefinitions>
<pu:NumberInput x:Name="hh" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" Margin="5,0,0,0" Minimum="0"
Maximum="40" />
<TextBlock Text="{ll:Str 小时}" VerticalAlignment="Center" Grid.Row="2" Grid.Column="2" />
<pu:NumberInput x:Name="mm" Grid.Row="2" Grid.Column="3" VerticalAlignment="Center" Margin="5,0,0,0" Minimum="0"
Maximum="2400" />
<TextBlock Text="{ll:Str 分钟}" VerticalAlignment="Center" Grid.Row="2" Grid.Column="4" />
<pu:NumberInput x:Name="ss" Grid.Row="2" Grid.Column="5" VerticalAlignment="Center" Margin="5,0,0,0" Minimum="0"
Maximum="2400" />
<TextBlock Text="{ll:Str 秒}" VerticalAlignment="Center" Grid.Row="2" Grid.Column="6" Margin="0,0,10,0" />
<TextBlock Text="{ll:Str 请输入倒计时时间}" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="6" VerticalAlignment="Top"
Grid.RowSpan="2" />
<Button pu:ButtonHelper.CornerRadius="4" Content="{ll:Str 确定}" Grid.Column="5"
Background="{DynamicResource SecondaryLight}" VerticalAlignment="Bottom" Height="30"
BorderBrush="{DynamicResource SecondaryDark}" BorderThickness="2" Grid.Row="2" Grid.ColumnSpan="2"
Grid.RowSpan="3" Margin="0,0,0,10" Click="OK_Click" IsDefault="True" />
</Grid>
</Window>

View File

@ -1,42 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace VPet.Plugin.DemoClock
{
/// <summary>
/// CountDownInput.xaml 的交互逻辑
/// </summary>
public partial class CountDownInput : Window
{
public TimeSpan Return = TimeSpan.Zero;
public CountDownInput(TimeSpan ret)
{
InitializeComponent();
if (ret < TimeSpan.Zero)
{
ret = -ret;
}
hh.Value = Math.Min(40, (int)ret.TotalHours);
mm.Value = ret.Minutes;
ss.Value = ret.Seconds;
}
private void OK_Click(object sender, RoutedEventArgs e)
{
Return = TimeSpan.FromHours(hh.Value.Value) + TimeSpan.FromSeconds(ss.Value.Value) + TimeSpan.FromMinutes(mm.Value.Value);
DialogResult = true;
}
}
}

View File

@ -1,165 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows.Controls;
using System.Windows;
using VPet_Simulator.Windows.Interface;
using System.Windows.Threading;
using LinePutScript.Localization.WPF;
namespace VPet.Plugin.DemoClock
{
/// <summary>
/// Demo 时钟
/// </summary>
public class DemoClock : MainPlugin
{
public enum Mode
{
/// <summary>
/// 正常显示时间
/// </summary>
None,
/// <summary>
/// 倒计时
/// </summary>
CountDown,
/// <summary>
/// 正计时
/// </summary>
Timing,
/// <summary>
/// 番茄钟:工作
/// </summary>
Tomato_Work,
/// <summary>
/// 番茄钟:休息
/// </summary>
Tomato_Rest,
/// <summary>
/// 番茄钟:长休息
/// </summary>
Tomato_Rest_Long,
/// <summary>
/// 时间到 暂停状态
/// </summary>
CountDown_End
}
/// <summary>
/// 当前时钟模式
/// </summary>
public Mode mode = Mode.None;
MenuItem menuItem;
public TimeClock WPFTimeClock;
public Setting Set;
public MenuItem mTotmatoWork;
public MenuItem mTotmatoRest;
public MenuItem mCountDown;
public MenuItem mTiming;
public long CountDownLength;
public winSetting winSetting;
public DemoClock(IMainWindow mainwin) : base(mainwin)
{
}
public override void LoadPlugin()
{
var line = MW.Set.FindLine("DemoClock");
if (line == null)
{
Set = new Setting();
}
else
{
Set = new Setting(line);
MW.Set.Remove(line);
}
MW.Set.Add(Set);
WPFTimeClock = new TimeClock(this);
menuItem = new MenuItem()
{
Header = "DM时钟".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center
};
//foreach (MenuItem mi in WPFTimeClock.CM.Items)
// menuItem.Items.Add(mi);
var mi = new MenuItem()
{
Header = "设置".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
mi.Click += (s, e) => { Setting(); };
menuItem.Items.Add(mi);
menuItem.Items.Add(new Separator());
mCountDown = new MenuItem()
{
Header = "开始倒计时".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
mCountDown.Click += WPFTimeClock.CountDownMenuItem_Click;
menuItem.Items.Add(mCountDown);
mTiming = new MenuItem()
{
Header = "开始正计时".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
mTiming.Click += WPFTimeClock.TimingMenuItem_Click;
menuItem.Items.Add(mTiming);
mTotmatoWork = new MenuItem()
{
Header = "开始工作".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
mTotmatoWork.Click += WPFTimeClock.WorkMenuItem_Click;
menuItem.Items.Add(mTotmatoWork);
mTotmatoRest = new MenuItem()
{
Header = "开始休息".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
mTotmatoRest.Click += WPFTimeClock.RestMenuItem_Click;
menuItem.Items.Add(mTotmatoRest);
MenuItem modset = MW.Main.ToolBar.MenuMODConfig;
modset.Visibility = Visibility.Visible;
var menuset = new MenuItem()
{
Header = "DM时钟".Translate(),
HorizontalContentAlignment = HorizontalAlignment.Center,
};
menuset.Click += (s, e) => { Setting(); };
modset.Items.Add(menuset);
}
public override void LoadDIY()
{
MW.Main.ToolBar.MenuDIY.Items.Add(menuItem);
}
public override string PluginName => "DemoClock";
public override void Setting()
{
if (winSetting == null)
{
winSetting = new winSetting(this);
winSetting.Show();
}
else
{
winSetting.Topmost = true;
}
}
}
}

View File

@ -1,55 +0,0 @@
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("VPet.Plugin.DemoClock")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VPet.Plugin.DemoClock")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
//若要开始生成可本地化的应用程序,请设置
//.csproj 文件中的 <UICulture>CultureYouAreCodingWith</UICulture>
//例如,如果您在源文件中使用的是美国英语,
//使用的是美国英语,请将 <UICulture> 设置为 en-US。 然后取消
//对以下 NeutralResourceLanguage 特性的注释。 更新
//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //主题特定资源词典所处位置
//(未在页面中找到资源时使用,
//或应用程序资源字典中找到时使用)
ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置
//(未在页面中找到资源时使用,
//、应用程序或任何主题专用资源字典中找到时使用)
)]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -1,62 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace VPet.Plugin.DemoClock.Properties {
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if ((resourceMan == null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VPet.Plugin.DemoClock.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -1,30 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace VPet.Plugin.DemoClock.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -1,182 +0,0 @@
using LinePutScript;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Plugin.DemoClock
{
public class Setting : Line
{
public Setting() : base("DemoClock", "")
{
timeshifting = 0;
hour24 = false;
tomato_worktime = 45;
tomato_resttime = 15;
tomato_resttimelong = 45;
}
public Setting(ILine line) : base(line)
{
timeshifting = GetFloat("timeshifting", 0);
hour24 = GetBool("hour24");
tomato_worktime = GetDouble("tomato_worktime", 45);
tomato_resttime = GetDouble("tomato_resttime", 15);
tomato_resttimelong = GetDouble("tomato_resttimelong", 45);
}
double timeshifting;
/// <summary>
/// 时间偏移
/// </summary>
public double TimeShifting
{
get => timeshifting;
set
{
timeshifting = value;
SetFloat("timeshifting", value);
}
}
/// <summary>
/// 是否自动放置到桌宠后方
/// </summary>
public bool PlaceAutoBack
{
get => !GetBool("placeautofront");
set => SetBool("placeautofront", !value);
}
///// <summary>
///// 是否启用
///// </summary>
//public bool TurnON
//{
// get => !GetBool("turnon");
// set => SetBool("turnon", !value);
//}
/// <summary>
/// 放置距离设置
/// </summary>
public double PlaceTop
{
get => GetDouble("placetop", 400);
set => SetDouble("placetop", value);
}
/// <summary>
/// 默认倒计时
/// </summary>
public double DefaultCountDown
{
get => GetDouble("defaultcountdown", 5);
set => SetDouble("defaultcountdown", value);
}
/// <summary>
/// 闲置透明度 (0-1.0)
/// </summary>
public double Opacity
{
get => GetDouble("opacity", 0.6);
set => SetDouble("opacity", value);
}
bool hour24;
/// <summary>
/// 是否使用24小时制
/// </summary>
public bool Hour24
{
get => hour24;
set
{
hour24 = value;
SetBool("hour24", value);
}
}
double tomato_worktime;
/// <summary>
/// 番茄钟工作时长
/// </summary>
public double Tomato_WorkTime
{
get => tomato_worktime;
set
{
tomato_worktime = value;
SetDouble("tomato_worktime", value);
}
}
double tomato_resttime;
/// <summary>
/// 番茄钟休息时长
/// </summary>
public double Tomato_RestTime
{
get => tomato_resttime;
set { tomato_resttime = value; SetDouble("tomato_resttime", value); }
}
public double tomato_resttimelong;
/// <summary>
/// 番茄钟长休息时长
/// </summary>
public double Tomato_RestTimeLong
{
get => tomato_resttimelong;
set { SetDouble("tomato_resttimelong", value); tomato_resttimelong = value; }
}
/// <summary>
/// 番茄钟工作语音
/// </summary>
public string Tomato_WorkVoice
{
get => GetString("tomato_workvoice", "pack://application:,,,/Res/Work.mp3");
set => SetString("tomato_workvoice", value);
}
/// <summary>
/// 番茄钟休息语音
/// </summary>
public string Tomato_RestVoice
{
get => GetString("tomato_restvoice", "pack://application:,,,/Res/Rest.mp3");
set => SetString("tomato_restvoice", value);
}
/// <summary>
/// 番茄钟结束语音
/// </summary>
public string Tomato_EndVoice
{
get => GetString("tomato_endvoice", "pack://application:,,,/Res/End.mp3");
set => SetString("tomato_endvoice", value);
}
/// <summary>
/// 番茄钟工作语音
/// </summary>
public string CountDownVoice
{
get => GetString("countdownvoice", "pack://application:,,,/Res/CountDown.mp3");
set => SetString("countdownvoice", value);
}
/// <summary>
/// 拥有番茄数量
/// </summary>
public int Tomato_Count
{
get => GetInt("tomato_count");
set => SetInt("tomato_count", value);
}
/// <summary>
/// 拥有番茄总数量
/// </summary>
public int Tomato_Count_Total
{
get => GetInt("tomato_count_total");
set => SetInt("tomato_count_total", value);
}
/// <summary>
/// 添加番茄数量
/// </summary>
public void AddTomato(int count)
{
Tomato_Count += count;
Tomato_Count_Total += count;
}
}
}

View File

@ -1,57 +0,0 @@
<UserControl x:Class="VPet.Plugin.DemoClock.TimeClock" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:VPet.Plugin.DemoClock"
mc:Ignorable="d" xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI" MinHeight="100" Height="Auto"
Width="450" VerticalAlignment="Top" HorizontalAlignment="Center">
<UserControl.Resources>
<ResourceDictionary Source="/VPet-Simulator.Windows.Interface;component/ResourceStyle.xaml" />
</UserControl.Resources>
<UserControl.ContextMenu>
<ContextMenu x:Name="CM" x:FieldModifier="public">
<MenuItem x:Name="CountDownMenuItem" Header="{ll:Str 开始倒计时}" Click="CountDownMenuItem_Click" />
<MenuItem x:Name="TimingMenuItem" Header="{ll:Str 开始正计时}" Click="TimingMenuItem_Click" />
<MenuItem x:Name="WorkMenuItem" Header="{ll:Str 开始工作}" Click="WorkMenuItem_Click" />
<MenuItem x:Name="RestMenuItem" Header="{ll:Str 开始休息}" Click="RestMenuItem_Click" />
<Separator />
<MenuItem x:Name="SettingMenuItem" Header="{ll:Str 设置}" Click="SettingMenuItem_Click" />
</ContextMenu>
</UserControl.ContextMenu>
<Border Background="{DynamicResource DARKPrimaryLighter}" BorderBrush="{DynamicResource DARKPrimaryDark}"
BorderThickness="4" CornerRadius="4">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="8*" />
<ColumnDefinition Width=".5*" />
<ColumnDefinition Width="8*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="5" />
<RowDefinition Height="8*" />
<RowDefinition Height="8*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="5" />
</Grid.RowDefinitions>
<ProgressBar x:Name="PBTimeLeft" Value="80" Foreground="{DynamicResource ProgressBarForeground}"
Background="Transparent" BorderBrush="{DynamicResource ProgressBarForeground}" BorderThickness="5"
Grid.ColumnSpan="5" Grid.RowSpan="5" Visibility="Collapsed" />
<TextBlock Grid.Row="1" Grid.RowSpan="2" x:Name="TTimes" Text="96.5m" FontSize="60"
HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="{DynamicResource DARKPrimaryText}" Grid.ColumnSpan="1" Grid.Column="1" />
<TextBlock Grid.Row="1" Grid.Column="3" x:Name="TDayofWeek" Text="下午 星期五" FontSize="30"
HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="{DynamicResource DARKPrimaryText}" />
<TextBlock Grid.Row="2" Grid.Column="3" x:Name="TDates" Text="工作: 60.0 分钟" FontSize="25"
HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="{DynamicResource DARKPrimaryText}" FontWeight="Bold" />
<TextBlock Text="点击此处退回正常时间" Grid.Row="3" Grid.Column="1" x:Name="TOthers" FontSize="20"
VerticalAlignment="Center" Foreground="{DynamicResource DARKPrimaryText}" Grid.ColumnSpan="3"
HorizontalAlignment="Center" Visibility="Collapsed"
MouseLeftButtonDown="UserControl_MouseLeftButtonDown" />
</Grid>
</Border>
</UserControl>

View File

@ -1,527 +0,0 @@
using Panuon.WPF.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
using static VPet.Plugin.DemoClock.DemoClock;
using System.Timers;
using LinePutScript.Localization.WPF;
namespace VPet.Plugin.DemoClock
{
/// <summary>
/// TimeClock.xaml 的交互逻辑
/// </summary>
public partial class TimeClock : UserControl
{
DemoClock Master;
public DispatcherTimer TimeTimer;
public DispatcherTimer CountTimer;
public DateTime StartTime;
public TimeSpan PauseTime;
public bool IsPause = false;
Timer CloseTimer;
public TimeClock(DemoClock master)
{
InitializeComponent();
Master = master;
Master.MW.Main.UIGrid.Children.Insert(0, this);
TimeTimer = new DispatcherTimer();
TimeTimer.Interval = TimeSpan.FromSeconds(1);
TimeTimer.Tick += TimeTimer_Tick;
TimeTimer.Start();
CountTimer = new DispatcherTimer();
//CountTimer.Interval = TimeSpan.FromSeconds(1);
CountTimer.Tick += CountTimer_Tick;
CloseTimer = new Timer()
{
Interval = 4000,
AutoReset = false,
Enabled = false
};
CloseTimer.Elapsed += CloseTimer_Elapsed;
Opacity = master.Set.Opacity;
Margin = new Thickness(0, master.Set.PlaceTop, 0, 0);
Master.MW.Main.MouseEnter += UserControl_MouseEnter;
Master.MW.Main.MouseLeave += UserControl_MouseLeave;
TimeTimer_Tick();
}
private void CloseTimer_Elapsed(object sender, ElapsedEventArgs e)
{
Dispatcher.Invoke(() =>
{
Opacity = Master.Set.Opacity;
if (Master.Set.PlaceAutoBack && Master.MW.Main.UIGrid.Children.Contains(this))
{
Master.MW.Main.UIGrid.Children.Remove(this);
Master.MW.Main.UIGrid_Back.Children.Add(this);
}
});
}
private void UserControl_MouseEnter(object sender, MouseEventArgs e)
{
if (Master.Set.PlaceAutoBack && Master.MW.Main.UIGrid_Back.Children.Contains(this))
{
Master.MW.Main.UIGrid_Back.Children.Remove(this);
Master.MW.Main.UIGrid.Children.Insert(0, this);
}
Opacity = 0.95;
CloseTimer.Enabled = false;
}
private void UserControl_MouseLeave(object sender, MouseEventArgs e)
{
CloseTimer.Start();
}
bool TimeSpanChanged = false;
private void CountTimer_Tick(object sender = null, EventArgs e = null)
{
if (IsPause)
return;
switch (Master.mode)
{
default:
case Mode.None:
CountTimer.Stop();
break;
case Mode.Timing:
var diff = DateTime.Now - StartTime + PauseTime;
if (diff.TotalMinutes > 1)
{
TTimes.Text = diff.ToString(@"mm\:ss");
if (TimeSpanChanged)
{
CountTimer.Interval = TimeSpan.FromSeconds(1);
TimeSpanChanged = false;
}
}
else
TTimes.Text = diff.ToString(@"ss\:ff");
if (diff.TotalMinutes < 1.5)
{
TDates.Text = "计时: {0:f1} 秒".Translate(diff.TotalSeconds);
}
else if (diff.TotalHours < 1.5)
{
TDates.Text = "计时: {0:f1} 分钟".Translate(diff.TotalMinutes);
}
else
{
TDates.Text = "计时: {0:f1} 小时".Translate(diff.Hours);
}
break;
case Mode.CountDown:
diff = StartTime - DateTime.Now;
if (diff <= TimeSpan.Zero)
{
TTimes.Text = "时间到".Translate();
TDates.Text = "计时结束".Translate();
TOthers.Text = "点击此处回到时间显示".Translate();
TOthers.Visibility = Visibility.Visible;
Master.mode = Mode.CountDown_End;
CountTimer.Stop();
return;
}
PBTimeLeft.Value = PBTimeLeft.Maximum - diff.TotalMinutes;
if (diff.TotalMinutes < 1)
{
TTimes.Text = diff.ToString(@"ss\:ff");
if (TimeSpanChanged)
{
CountTimer.Interval = TimeSpan.FromMilliseconds(50);
TimeSpanChanged = false;
}
}
else
{
TTimes.Text = diff.ToString(@"mm\:ss");
}
if (diff.TotalMinutes < 1.5)
{
TDates.Text = "剩余: {0:f1} 秒".Translate(diff.TotalSeconds);
}
else if (diff.TotalHours < 1.5)
{
TDates.Text = "剩余: {0:f1} 分钟".Translate(diff.TotalMinutes);
}
else
{
TDates.Text = "剩余: {0:f1} 小时".Translate(diff.Hours);
}
break;
case Mode.Tomato_Work:
diff = DateTime.Now - StartTime;
var diffleft = TimeSpan.FromMinutes(Master.Set.Tomato_WorkTime) - diff;
if (diffleft <= TimeSpan.Zero)
{
Master.Set.AddTomato((int)Master.Set.Tomato_WorkTime / 10);
Master.MW.Core.Save.Money += (int)Master.Set.Tomato_WorkTime;
TTimes.Text = "时间到".Translate();
TDates.Text = "工作结束".Translate();
TOthers.Text = "点击此处开始休息".Translate();
Master.mode = Mode.CountDown_End;
CountTimer.Stop();
return;
}
TTimes.Text = diff.TotalMinutes.ToString("f1") + 'm';
PBTimeLeft.Value = diff.TotalMinutes;
if (diffleft.TotalMinutes < 1.5)
{
TDates.Text = "工作剩{0:f1}秒".Translate(diffleft.TotalSeconds);
}
else if (diffleft.TotalHours < 1.5)
{
TDates.Text = "工作剩{0:f1}分钟".Translate(diffleft.TotalMinutes);
}
else
{
TDates.Text = "工作剩{0:f1}小时".Translate(diffleft.Hours);
}
break;
case Mode.Tomato_Rest:
diff = DateTime.Now - StartTime;
diffleft = TimeSpan.FromMinutes(Master.Set.Tomato_RestTime) - diff;
if (diffleft <= TimeSpan.Zero)
{
TTimes.Text = "时间到".Translate();
TDates.Text = "休息结束".Translate();
TOthers.Text = "点击此处开始工作".Translate();
Master.mode = Mode.CountDown_End;
CountTimer.Stop();
return;
}
TTimes.Text = diff.TotalMinutes.ToString("f1") + 'm';
PBTimeLeft.Value = diff.TotalMinutes;
if (diffleft.TotalMinutes < 1.5)
{
TDates.Text = "休息剩{0:f1}秒".Translate(diffleft.TotalSeconds);
}
else if (diffleft.TotalHours < 1.5)
{
TDates.Text = "休息剩{0:f1}分钟".Translate(diffleft.TotalMinutes);
}
else
{
TDates.Text = "休息剩{0:f1}小时".Translate(diffleft.Hours);
}
break;
case Mode.Tomato_Rest_Long:
diff = DateTime.Now - StartTime;
diffleft = TimeSpan.FromMinutes(Master.Set.Tomato_RestTimeLong) - diff;
if (diffleft <= TimeSpan.Zero)
{
TTimes.Text = "时间到".Translate();
TDates.Text = "长休息结束".Translate();
TOthers.Text = "点击此处开始工作".Translate();
Master.mode = Mode.CountDown_End;
CountTimer.Stop();
return;
}
TTimes.Text = diff.TotalMinutes.ToString("f1") + 'm';
PBTimeLeft.Value = diff.TotalMinutes;
if (diffleft.TotalMinutes < 1.5)
{
TDates.Text = $"休息剩{diffleft.TotalSeconds:f1}秒";
}
else if (diffleft.TotalHours < 1.5)
{
TDates.Text = $"休息剩{diffleft.TotalMinutes:f1}分钟";
}
else
{
TDates.Text = $"休息剩{diffleft.Hours:f1}小时";
}
break;
}
}
public void StartTiming()
{
StartTime = DateTime.Now;
TimeSpanChanged = true;
TOthers.Visibility = Visibility.Collapsed;
IsPause = false;
PauseTime = TimeSpan.Zero;
CountTimer.Interval = TimeSpan.FromMilliseconds(50);
CountTimer.Start();
Master.mode = Mode.Timing;
}
public void PauseTiming()
{
IsPause = true;
CountTimer.IsEnabled = false;
PauseTime += DateTime.Now - StartTime;
TDates.Text = "计时暂停".Translate() + TDates.Text.Substring(3);
}
public void ContinueTiming()
{
StartTime = DateTime.Now;
IsPause = false;
CountTimer.Start();
CountTimer_Tick();
}
public void StartCountDown(TimeSpan time)
{
Master.mode = Mode.CountDown;
StartTime = DateTime.Now + time;
TimeSpanChanged = true;
IsPause = false;
TOthers.Visibility = Visibility.Collapsed;
PauseTime = TimeSpan.Zero;
PBTimeLeft.Value = 0;
PBTimeLeft.Maximum = time.TotalMinutes;
PBTimeLeft.Visibility = Visibility.Visible;
CountTimer.Interval = TimeSpan.FromSeconds(1);
CountTimer.Start();
}
public void ContinueCountDown()
{
StartTime = DateTime.Now + PauseTime;
IsPause = false;
CountTimer.Start();
CountTimer_Tick();
}
public void PauseCountDown()
{
IsPause = true;
CountTimer.IsEnabled = false;
PauseTime = StartTime - DateTime.Now;
}
public void StartWork()
{
Master.mode = Mode.Tomato_Work;
StartTime = DateTime.Now;
IsPause = false;
TOthers.Visibility = Visibility.Visible;
TOthers.Text = "番茄点数 {0} 累计点数 {1}".Translate(Master.Set.Tomato_Count, Master.Set.Tomato_Count_Total);
PauseTime = TimeSpan.Zero;
PBTimeLeft.Value = 0;
PBTimeLeft.Visibility = Visibility.Visible;
PBTimeLeft.Maximum = Master.Set.Tomato_WorkTime;
CountTimer.Interval = TimeSpan.FromSeconds(1);
CountTimer.Start();
}
public void StartRest()
{
Master.mode = Mode.Tomato_Rest;
StartTime = DateTime.Now;
IsPause = false;
TOthers.Visibility = Visibility.Visible;
TOthers.Text = "番茄点数 {0} 累计点数 {1}".Translate(Master.Set.Tomato_Count, Master.Set.Tomato_Count_Total);
PauseTime = TimeSpan.Zero;
PBTimeLeft.Value = 0;
PBTimeLeft.Visibility = Visibility.Visible;
PBTimeLeft.Maximum = Master.Set.Tomato_RestTime;
CountTimer.Interval = TimeSpan.FromSeconds(1);
CountTimer.Start();
}
public void StartRestLong()
{
Master.mode = Mode.Tomato_Rest_Long;
StartTime = DateTime.Now;
IsPause = false;
TOthers.Visibility = Visibility.Visible;
TOthers.Text = "番茄点数 {0} 累计点数 {1}".Translate(Master.Set.Tomato_Count, Master.Set.Tomato_Count_Total);
PauseTime = TimeSpan.Zero;
PBTimeLeft.Value = 0;
PBTimeLeft.Visibility = Visibility.Visible;
PBTimeLeft.Maximum = Master.Set.Tomato_RestTimeLong;
CountTimer.Interval = TimeSpan.FromSeconds(1);
CountTimer.Start();
}
private void TimeTimer_Tick(object sender = null, EventArgs e = null)
{
//相关UI更新
if (Master.mode == Mode.None)
{
if (Master.Set.Hour24)
{
TTimes.Text = DateTime.Now.ToString("HH:mm");
}
else
{
TTimes.Text = DateTime.Now.ToString("hh:mm");
}
TDayofWeek.Text = DateTime.Now.ToString("tt dddd");
TDates.Text = DateTime.Now.ToString("yyyy/MM/dd");
}
else
{
if (Master.Set.Hour24)
{
TDayofWeek.Text = DateTime.Now.ToString("tt HH:mm");
}
else
{
TDayofWeek.Text = DateTime.Now.ToString("tt hh:mm");
}
}
}
public void CountDownMenuItem_Click(object sender, RoutedEventArgs e)
{
if (Master.mode == Mode.CountDown)
{
if (IsPause)
{
ContinueCountDown();
CountDownMenuItem.Header = "暂停倒计时".Translate();
Master.mCountDown.Header = "暂停倒计时".Translate();
}
else
{
PauseCountDown();
CountDownMenuItem.Header = "继续倒计时".Translate();
Master.mCountDown.Header = "继续倒计时".Translate();
}
}
else
{
CountDownInput input = new CountDownInput(TimeSpan.FromMinutes(Master.Set.DefaultCountDown));
if (input.ShowDialog() == true && input.Return != TimeSpan.Zero)
{
StartCountDown(input.Return);
CountDownMenuItem.Header = "暂停倒计时".Translate();
Master.mCountDown.Header = "暂停倒计时".Translate();
}
}
}
private void SettingMenuItem_Click(object sender, RoutedEventArgs e)
{
Master.Setting();
}
public void TimingMenuItem_Click(object sender, RoutedEventArgs e)
{
if (Master.mode == Mode.Timing)
{
if (IsPause)
{
ContinueTiming();
TimingMenuItem.Header = "暂停计时".Translate();
Master.mTiming.Header = "暂停计时".Translate();
}
else
{
PauseTiming();
TimingMenuItem.Header = "继续计时".Translate();
Master.mTiming.Header = "继续计时".Translate();
}
}
else
{
StartTiming();
TimingMenuItem.Header = "暂停计时".Translate();
Master.mTiming.Header = "暂停计时".Translate();
}
}
public void WorkMenuItem_Click(object sender, RoutedEventArgs e)
{
if (Master.mode == Mode.Tomato_Work)
{
if (MessageBoxX.Show("是否停止当前工作?".Translate(), "停止工作".Translate(), MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
Master.mode = Mode.None;
CountTimer.IsEnabled = false;
TOthers.Visibility = Visibility.Collapsed;
PBTimeLeft.Visibility = Visibility.Collapsed;
WorkMenuItem.Header = "开始工作".Translate();
Master.mTotmatoWork.Header = "开始工作".Translate();
}
}
else if (Master.mode == Mode.Tomato_Rest)
{
if (MessageBoxX.Show("是否停止当前休息?".Translate(), "停止休息".Translate(), MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
Master.mode = Mode.None;
CountTimer.IsEnabled = false;
TOthers.Visibility = Visibility.Collapsed;
PBTimeLeft.Visibility = Visibility.Collapsed;
WorkMenuItem.Header = "开始工作".Translate();
Master.mTotmatoWork.Header = "开始工作".Translate();
}
}
else
{
StartWork();
WorkMenuItem.Header = "停止工作".Translate();
Master.mTotmatoWork.Header = "停止工作".Translate();
}
}
public void RestMenuItem_Click(object sender, RoutedEventArgs e)
{
if (Master.mode == Mode.Tomato_Rest || Master.mode == Mode.Tomato_Rest_Long)
{
if (MessageBoxX.Show("是否停止当前休息?\n扣除的番茄不会被退还".Translate(), "停止休息".Translate(), MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
Master.mode = Mode.None;
CountTimer.IsEnabled = false;
TOthers.Visibility = Visibility.Collapsed;
PBTimeLeft.Visibility = Visibility.Collapsed;
WorkMenuItem.Header = "开始休息".Translate();
Master.mTotmatoWork.Header = "开始休息".Translate();
}
}
else
{
int need = (int)Math.Round(Master.Set.Tomato_RestTimeLong / 2);
if (Master.Set.Tomato_Count <= Master.Set.Tomato_RestTimeLong / 2 && MessageBoxResult.Yes ==
MessageBoxX.Show("是否开始休息?\n休息所需番茄 {0}\n当前拥有番茄 {1}".Translate(need, Master.Set.Tomato_Count),
"开始休息".Translate(), MessageBoxButton.YesNo))
{
Master.Set.Tomato_Count -= need;
StartRestLong();
WorkMenuItem.Header = "停止休息";
Master.mTotmatoWork.Header = "停止休息";
}
else
{
MessageBoxX.Show("当前番茄不足,不能开始长休息\n休息所需番茄 {0}\n当前拥有番茄 {1}".Translate(need, Master.Set.Tomato_Count),
"休息失败,请好好工作".Translate());
}
}
}
private void UserControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (TDates.Text == "计时结束".Translate())
{
Master.mode = Mode.None;
CountTimer.IsEnabled = false;
TOthers.Visibility = Visibility.Collapsed;
PBTimeLeft.Visibility = Visibility.Collapsed;
CountDownMenuItem.Header = "开始倒计时";
Master.mCountDown.Header = "开始倒计时";
}
else if (TDates.Text == "工作结束".Translate())
StartRest();
else if(TDates.Text == "休息结束".Translate() || TDates.Text == "长休息结束".Translate())
StartWork();
}
}
}

View File

@ -1,118 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D23F1150-999F-4698-800C-4E60FF853A3E}</ProjectGuid>
<OutputType>library</OutputType>
<RootNamespace>VPet.Plugin.DemoClock</RootNamespace>
<AssemblyName>VPet.Plugin.DemoClock</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="LinePutScript, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\LinePutScript.1.9.2\lib\net462\LinePutScript.dll</HintPath>
</Reference>
<Reference Include="LinePutScript.Localization.WPF, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\LinePutScript.Localization.WPF.1.0.6\lib\net462\LinePutScript.Localization.WPF.dll</HintPath>
</Reference>
<Reference Include="Panuon.WPF, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Panuon.WPF.1.0.2\lib\net462\Panuon.WPF.dll</HintPath>
</Reference>
<Reference Include="Panuon.WPF.UI, Version=1.1.15.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Panuon.WPF.UI.1.1.15.6\lib\net462\Panuon.WPF.UI.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="VPet-Simulator.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\VPet-Simulator.Core.1.0.0\lib\net462\VPet-Simulator.Core.dll</HintPath>
</Reference>
<Reference Include="VPet-Simulator.Windows.Interface, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\VPet-Simulator.Windows.Interface.1.0.0\lib\net462\VPet-Simulator.Windows.Interface.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
</ItemGroup>
<ItemGroup>
<Compile Include="CountDownInput.xaml.cs">
<DependentUpon>CountDownInput.xaml</DependentUpon>
</Compile>
<Compile Include="DemoClock.cs" />
<Compile Include="Setting.cs" />
<Compile Include="winSetting.xaml.cs">
<DependentUpon>winSetting.xaml</DependentUpon>
</Compile>
<Compile Include="TimeClock.xaml.cs">
<DependentUpon>TimeClock.xaml</DependentUpon>
</Compile>
<Page Include="CountDownInput.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="winSetting.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="TimeClock.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="LinePutScript" version="1.9.2" targetFramework="net462" />
<package id="LinePutScript.Localization.WPF" version="1.0.6" targetFramework="net462" />
<package id="Panuon.WPF" version="1.0.2" targetFramework="net462" />
<package id="Panuon.WPF.UI" version="1.1.15.6" targetFramework="net462" />
<package id="VPet-Simulator.Core" version="1.0.0" targetFramework="net462" />
<package id="VPet-Simulator.Windows.Interface" version="1.0.0" targetFramework="net462" />
</packages>

View File

@ -1,166 +0,0 @@
<Window x:Class="VPet.Plugin.DemoClock.winSetting" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Plugin.DemoClock" mc:Ignorable="d"
xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI" Title="{ll:Str Demo Clock 设置}" Width="{ll:Dbe 'setwidth', DefValue=450}" FontSize="16"
Height="Auto" ResizeMode="NoResize" WindowState="Normal" SizeToContent="Height"
Background="{DynamicResource PrimaryLighter}" Closed="Window_Closed">
<Window.Resources>
<ResourceDictionary Source="/VPet-Simulator.Windows.Interface;component/ResourceStyle.xaml" />
</Window.Resources>
<TabControl Background="{DynamicResource PrimaryLight}"
pu:TabControlHelper.HeaderPanelBackground="{DynamicResource PrimaryLighter}"
pu:TabControlHelper.ItemsSelectedBackground="{DynamicResource PrimaryLight}">
<TabItem Header="{ll:Str 基本时间设置}">
<Grid Margin="8" Background="{DynamicResource PrimaryLighter}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{ll:Str 24小时制}" VerticalAlignment="Center" />
<TextBlock Grid.Row="1" Text="{ll:Str 时钟位置}" VerticalAlignment="Center" />
<TextBlock Grid.Row="2" Text="{ll:Str 闲置透明度}" VerticalAlignment="Center" />
<TextBlock Grid.Row="3" Text="{ll:Str 显示层次}" VerticalAlignment="Center" />
<TextBlock Grid.Row="4" Text="{ll:Str 时间偏移}" VerticalAlignment="Center" />
<TextBlock Grid.Row="5" Text="{ll:Str 默认倒计时}" VerticalAlignment="Center" />
<TextBlock Grid.Row="6" Text="{ll:Str 倒计时语音}" VerticalAlignment="Center" />
<TextBlock Grid.Row="7" Text="{ll:Str 关闭时钟}" VerticalAlignment="Center" />
<pu:Switch x:Name="Switch24h" BorderBrush="{DynamicResource DARKPrimaryDark}"
CheckedBackground="{DynamicResource DARKPrimary}"
CheckedBorderBrush="{DynamicResource DARKPrimary}" Background="Transparent" BoxWidth="35"
BoxHeight="18" ToggleSize="14" ToggleShadowColor="{x:Null}"
ToggleBrush="{DynamicResource DARKPrimaryDark}" Content="{ll:Str 显示时间时启用24小时制}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}" Grid.Column="2"
Checked="Switch24h_Checked" Unchecked="Switch24h_Checked" />
<pu:NumberInput Grid.Row="1" Grid.Column="3" Minimum="-100" Maximum="600" Margin="5"
Value="{Binding ElementName=PlaceSilder, Path=Value}" CornerRadius="3" />
<Slider Grid.Row="1" Grid.Column="2" x:Name="PlaceSilder" Minimum="-100" Maximum="600" Value="300"
VerticalAlignment="Center" Background="{DynamicResource DARKPrimaryLighter}"
pu:SliderHelper.CoveredBackground="{DynamicResource DARKPrimaryDarker}"
ValueChanged="PlaceSilder_ValueChanged" />
<pu:NumberInput Grid.Row="2" Grid.Column="3" Minimum="0.1" MaxHeight="94" Margin="5"
Value="{Binding ElementName=OpacitySilder, Path=Value}" CornerRadius="3" />
<Slider Grid.Row="2" Grid.Column="2" x:Name="OpacitySilder" Minimum="0.1" Maximum="94" Value="60"
VerticalAlignment="Center" Background="{DynamicResource DARKPrimaryLighter}"
pu:SliderHelper.CoveredBackground="{DynamicResource DARKPrimaryDarker}"
ValueChanged="OpacitySilder_ValueChanged" />
<pu:Switch x:Name="SwitchAutoLayer" BorderBrush="{DynamicResource DARKPrimaryDark}"
CheckedBackground="{DynamicResource DARKPrimary}" IsChecked="True"
CheckedBorderBrush="{DynamicResource DARKPrimary}" Background="Transparent" BoxWidth="35"
BoxHeight="18" ToggleSize="14" ToggleShadowColor="{x:Null}"
ToggleBrush="{DynamicResource DARKPrimaryDark}" Content="{ll:Str 闲置时置于桌宠后方}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}" Grid.Column="2" Grid.Row="3"
Checked="SwitchAutoLayer_Checked" Unchecked="SwitchAutoLayer_Checked" />
<pu:NumberInput x:Name="NumTimeDiff" Minimum="-2400" Maximum="2400" Margin="5,5,5,5" Value="0"
CornerRadius="3" Grid.Row="4" Grid.Column="2" ValueChanged="NumTimeDiff_ValueChanged" />
<TextBlock Text="{ll:Str 分钟}" VerticalAlignment="Center" Margin="5,0,0,0" Grid.Row="4" Grid.Column="3" />
<pu:NumberInput x:Name="NumDefCountDown" Minimum="0" Maximum="2400" Margin="5,5,5,5" Value="5"
CornerRadius="3" Grid.Row="5" Grid.Column="2" ValueChanged="NumDefCountDown_ValueChanged" />
<TextBlock Text="{ll:Str 分钟}" VerticalAlignment="Center" Margin="5,0,0,0" Grid.Row="5" Grid.Column="3" />
<TextBox x:Name="TextCountDown" Grid.Row="6" Grid.Column="2"
Style="{DynamicResource StandardTextBoxStyle}" FontSize="16" Margin="5"
Text="pack://application:,,,/Res/CountDown.mp3" TextChanged="TextCountDown_TextChanged"
IsEnabled="False" />
<Button pu:ButtonHelper.CornerRadius="4" Content="{ll:Str 选择位置}" Grid.Column="3" Tag="CountDown"
Background="{DynamicResource SecondaryLight}" HorizontalAlignment="Center" IsEnabled="False"
VerticalAlignment="Center" Height="30" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Grid.Row="6" />
<!--<pu:Switch x:Name="SwitchOn" BorderBrush="{DynamicResource DARKPrimaryDark}"
CheckedBackground="{DynamicResource DARKPrimary}" IsChecked="True"
CheckedBorderBrush="{DynamicResource DARKPrimary}" Background="Transparent" BoxWidth="35"
BoxHeight="18" ToggleSize="14" ToggleShadowColor="{x:Null}"
ToggleBrush="{DynamicResource DARKPrimaryDark}" Content="启用或关闭显示时钟"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}" Grid.Column="2" Grid.Row="7"
Checked="SwitchOn_Checked" />-->
<TextBlock Grid.Column="2" Grid.Row="7" Text="{ll:Str '前往 设置-MOD设置 启用/停用MOD'}" HorizontalAlignment="Center"
VerticalAlignment="Center" Grid.ColumnSpan="2" TextDecorations="Underline" Cursor="Hand"
Foreground="{DynamicResource DARKPrimaryDark}" MouseDown="TextBlock_MouseDown" />
</Grid>
</TabItem>
<TabItem Header="{ll:Str 番茄钟相关设置}">
<Grid Margin="8" Background="{DynamicResource PrimaryLighter}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{ll:Str 工作时长}" VerticalAlignment="Center" />
<TextBlock Grid.Row="1" Text="{ll:Str 休息时长}" VerticalAlignment="Center" />
<TextBlock Grid.Row="2" Text="{ll:Str 长休息时长}" VerticalAlignment="Center" />
<TextBlock Grid.Row="3" Text="{ll:Str 工作语音}" VerticalAlignment="Center" />
<TextBlock Grid.Row="4" Text="{ll:Str 休息语音}" VerticalAlignment="Center" />
<TextBlock Grid.Row="5" Text="{ll:Str 结束语音}" VerticalAlignment="Center" />
<TextBlock Grid.Row="6" Text="{ll:Str 语音预设}" VerticalAlignment="Center" />
<TextBlock Text="{ll:Str 分钟}" VerticalAlignment="Center" Grid.Column="3" HorizontalAlignment="Center" />
<TextBlock Grid.Row="1" Text="{ll:Str 分钟}" VerticalAlignment="Center" Grid.Column="3"
HorizontalAlignment="Center" />
<TextBlock Grid.Row="2" Text="{ll:Str 分钟}" VerticalAlignment="Center" Grid.Column="3"
HorizontalAlignment="Center" />
<Button pu:ButtonHelper.CornerRadius="4" Content="{ll:Str 选择位置}" Grid.Column="3" Tag="TomatoWork"
IsEnabled="False" Background="{DynamicResource SecondaryLight}" HorizontalAlignment="Center"
VerticalAlignment="Center" Height="30" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Grid.Row="3" Click="btn_path_Click" />
<Button pu:ButtonHelper.CornerRadius="4" Content="{ll:Str 选择位置}" Grid.Column="3" Tag="TomatoRest"
Background="{DynamicResource SecondaryLight}" HorizontalAlignment="Center" IsEnabled="False"
VerticalAlignment="Center" Height="30" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Grid.Row="4" />
<Button pu:ButtonHelper.CornerRadius="4" Content="{ll:Str 选择位置}" Grid.Column="3" Tag="TomatoEnd"
Background="{DynamicResource SecondaryLight}" HorizontalAlignment="Center" IsEnabled="False"
VerticalAlignment="Center" Height="30" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Grid.Row="5" />
<pu:NumberInput x:Name="NumTomatoWork" Minimum="5" Maximum="480" Margin="5" Value="45" CornerRadius="3"
Grid.Column="2" ValueChanged="NumTomatoWork_ValueChanged" />
<pu:NumberInput x:Name="NumTomatoRest" Minimum="5" Maximum="480" Margin="5" Value="15" CornerRadius="3"
Grid.Column="2" Grid.Row="1" ValueChanged="NumTomatoRest_ValueChanged" />
<pu:NumberInput x:Name="NumTomatoRestLong" Minimum="5" Maximum="480" Margin="5" Value="45"
CornerRadius="3" Grid.Column="2" Grid.Row="2" ValueChanged="NumTomatoRestLong_ValueChanged" />
<TextBox x:Name="TextTomatoWork" Grid.Row="3" Grid.Column="2"
Style="{DynamicResource StandardTextBoxStyle}" FontSize="16" IsEnabled="False" Margin="5"
Text="pack://application:,,,/Res/Work.mp3" TextChanged="TextTomatoWork_TextChanged" />
<TextBox x:Name="TextTomatoRest" Grid.Row="4" Grid.Column="2"
Style="{DynamicResource StandardTextBoxStyle}" FontSize="16" Margin="5"
Text="pack://application:,,,/Res/Rest.mp3" TextChanged="TextTomatoRest_TextChanged"
IsEnabled="False" />
<TextBox x:Name="TextTomatoEnd" Grid.Row="5" Grid.Column="2"
Style="{DynamicResource StandardTextBoxStyle}" FontSize="16" Margin="5"
Text="pack://application:,,,/Res/End.mp3" TextChanged="TextTomatoEnd_TextChanged"
IsEnabled="False" />
<ComboBox x:Name="PetBox" Grid.Column="2" Style="{DynamicResource StandardComboBoxStyle}" Margin="5"
FontSize="16" Grid.Row="6" Grid.ColumnSpan="2" IsEnabled="False">
<ComboBoxItem>默认系统声音 - Win10</ComboBoxItem>
<ComboBoxItem>少女 - NyaSwarm</ComboBoxItem>
<ComboBoxItem>秘书 - 杨远</ComboBoxItem>
<ComboBoxItem>萝莉 - 喵霸霸</ComboBoxItem>
</ComboBox>
</Grid>
</TabItem>
</TabControl>
</Window>

View File

@ -1,189 +0,0 @@
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace VPet.Plugin.DemoClock
{
/// <summary>
/// winSetting.xaml 的交互逻辑
/// </summary>
public partial class winSetting : Window
{
private bool AllowChange = false;
DemoClock Master;
Setting Set;
public winSetting(DemoClock master)
{
InitializeComponent();
Master = master;
Set = Master.Set;
Switch24h.IsChecked = Set.Hour24;
PlaceSilder.Value = Set.PlaceTop;
OpacitySilder.Value = Set.Opacity * 100;
SwitchAutoLayer.IsChecked = Set.PlaceAutoBack;
NumTimeDiff.Value = Set.TimeShifting;
NumDefCountDown.Value = Set.DefaultCountDown;
NumTomatoWork.Value = Set.Tomato_WorkTime;
NumTomatoRest.Value = Set.Tomato_RestTime;
NumTomatoRestLong.Value = Set.Tomato_RestTimeLong;
TextCountDown.Text = Set.CountDownVoice;
TextTomatoWork.Text = Set.Tomato_WorkVoice;
TextTomatoRest.Text = Set.Tomato_RestVoice;
TextTomatoEnd.Text = Set.Tomato_EndVoice;
AllowChange = true;
}
private void Switch24h_Checked(object sender, RoutedEventArgs e)
{
if (!AllowChange)
return;
Set.Hour24 = Switch24h.IsChecked.Value;
}
private void PlaceSilder_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!AllowChange)
return;
Set.PlaceTop = PlaceSilder.Value;
Master.WPFTimeClock.Margin = new Thickness(0, Set.PlaceTop, 0, 0);
}
private void OpacitySilder_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (!AllowChange)
return;
Set.Opacity = OpacitySilder.Value / 100;
if(Master.WPFTimeClock.Opacity != 0.95)
Master.WPFTimeClock.Opacity = Set.Opacity;
}
private void SwitchAutoLayer_Checked(object sender, RoutedEventArgs e)
{
if (!AllowChange)
return;
Set.PlaceAutoBack = SwitchAutoLayer.IsChecked.Value;
if (Master.Set.PlaceAutoBack && Master.MW.Main.UIGrid_Back.Children.Contains(Master.WPFTimeClock))
{
Master.MW.Main.UIGrid_Back.Children.Remove(Master.WPFTimeClock);
Master.MW.Main.UIGrid.Children.Insert(0, Master.WPFTimeClock);
}
}
private void NumTimeDiff_ValueChanged(object sender, Panuon.WPF.SelectedValueChangedRoutedEventArgs<double?> e)
{
if (!AllowChange)
return;
Set.TimeShifting = NumTimeDiff.Value.Value;
}
private void NumDefCountDown_ValueChanged(object sender, Panuon.WPF.SelectedValueChangedRoutedEventArgs<double?> e)
{
if (!AllowChange)
return;
Set.DefaultCountDown = NumDefCountDown.Value.Value;
}
private void TextCountDown_TextChanged(object sender, TextChangedEventArgs e)
{
if (!AllowChange)
return;
Set.CountDownVoice = TextCountDown.Text;
}
private void NumTomatoWork_ValueChanged(object sender, Panuon.WPF.SelectedValueChangedRoutedEventArgs<double?> e)
{
if (!AllowChange)
return;
Set.Tomato_WorkTime = NumTomatoWork.Value.Value;
}
private void NumTomatoRest_ValueChanged(object sender, Panuon.WPF.SelectedValueChangedRoutedEventArgs<double?> e)
{
if (!AllowChange)
return;
Set.Tomato_RestTime = NumTomatoRest.Value.Value;
}
private void NumTomatoRestLong_ValueChanged(object sender, Panuon.WPF.SelectedValueChangedRoutedEventArgs<double?> e)
{
if (!AllowChange)
return;
Set.Tomato_RestTimeLong = NumTomatoRestLong.Value.Value;
}
private void TextTomatoWork_TextChanged(object sender, TextChangedEventArgs e)
{
if (!AllowChange)
return;
Set.Tomato_WorkVoice = TextTomatoWork.Text;
}
private void TextTomatoRest_TextChanged(object sender, TextChangedEventArgs e)
{
if (!AllowChange)
return;
Set.Tomato_RestVoice = TextTomatoRest.Text;
}
private void TextTomatoEnd_TextChanged(object sender, TextChangedEventArgs e)
{
if (!AllowChange)
return;
Set.Tomato_EndVoice = TextTomatoEnd.Text;
}
private void btn_path_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "音频文件|*.wav;*.mp3";
if (openFileDialog.ShowDialog() != true)
{
return;
}
Button button = sender as Button;
switch (button.Tag)
{
case "CountDown":
TextCountDown.Text = openFileDialog.FileName;
break;
case "TomatoWork":
TextTomatoWork.Text = openFileDialog.FileName;
break;
case "TomatoRest":
TextTomatoRest.Text = openFileDialog.FileName;
break;
case "TomatoEnd":
TextTomatoEnd.Text = openFileDialog.FileName;
break;
}
}
private void Window_Closed(object sender, EventArgs e)
{
Master.winSetting = null;
}
private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
Master.MW.ShowSetting(5);
}
//private void SwitchOn_Checked(object sender, RoutedEventArgs e)
//{
// if (!AllowChange)
// return;
//}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,7 +0,0 @@
vupmod#EdgeTTS:|author#LorisYounger[认证]:|gamever#100:|ver#100:|
intro#桌宠说话的时候附带语音/com使用EdgeTTS:|
lang#en:|桌宠说话的时候附带语音,使用EdgeTTS#When the desk pet speaks with voice, use EdgeTTS:|EdgeTTS#EdgeTTS:|
lang#zh-Hans:|桌宠说话的时候附带语音,使用EdgeTTS#桌宠说话的时候附带语音,使用EdgeTTS:|EdgeTTS#EdgeTTS:|
lang#zh-Hant:|桌宠说话的时候附带语音,使用EdgeTTS#桌寵說話的時候附帶語音使用EdgeTTS:|EdgeTTS#EdgeTTS:|
authorid#253101309:|
itemid#3018320779:|

Some files were not shown because too many files have changed in this diff Show More