From 7de9bd3a05bf246b9ef8804c39f1eac8be4b0f6d Mon Sep 17 00:00:00 2001 From: ZouJin Date: Tue, 13 Dec 2022 15:10:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=A1=8C=E5=AE=A0=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 127 +++++++++- VPet-Simulator.Core/Display/Main.xaml | 16 ++ VPet-Simulator.Core/Display/Main.xaml.cs | 89 +++++++ VPet-Simulator.Core/Display/MainDisplay.cs | 142 +++++++++++ VPet-Simulator.Core/Display/MainLogic.cs | 30 +++ VPet-Simulator.Core/Display/MessageBar.xaml | 11 + .../Display/MessageBar.xaml.cs | 28 +++ VPet-Simulator.Core/Display/Theme.xaml | 38 +++ VPet-Simulator.Core/Display/ToolBar.xaml | 53 ++++ VPet-Simulator.Core/Display/ToolBar.xaml.cs | 71 ++++++ VPet-Simulator.Core/Graph/GraphCore.cs | 178 +++++++++++++ VPet-Simulator.Core/Graph/IEyeTracking.xaml | 12 + .../Graph/IEyeTracking.xaml.cs | 28 +++ VPet-Simulator.Core/Graph/IGraph.cs | 54 ++++ VPet-Simulator.Core/Graph/PNGAnimation.xaml | 11 + .../Graph/PNGAnimation.xaml.cs | 235 ++++++++++++++++++ VPet-Simulator.Core/Graph/Picture.xaml | 6 + VPet-Simulator.Core/Graph/Picture.xaml.cs | 75 ++++++ VPet-Simulator.Core/Handle/Function.cs | 13 + VPet-Simulator.Core/Handle/GameCore.cs | 83 +++++++ VPet-Simulator.Core/Handle/IController.cs | 48 ++++ VPet-Simulator.Core/Handle/Save.cs | 170 +++++++++++++ VPet-Simulator.Core/Handle/Setting.cs | 40 +++ VPet-Simulator.Core/Item/Drink.cs | 12 + VPet-Simulator.Core/Item/Food.cs | 12 + VPet-Simulator.Core/Item/Item.cs | 12 + .../Properties/AssemblyInfo.cs | 55 ++++ .../Properties/Resources.Designer.cs | 62 +++++ VPet-Simulator.Core/Properties/Resources.resx | 117 +++++++++ .../Properties/Settings.Designer.cs | 30 +++ .../Properties/Settings.settings | 7 + .../VPet-Simulator.Core.csproj | 147 +++++++++++ VPet-Simulator.Core/packages.config | 6 + VPet-Simulator.Tool/App.config | 6 + VPet-Simulator.Tool/Program.cs | 85 +++++++ .../Properties/AssemblyInfo.cs | 36 +++ .../VPet-Simulator.Tool.csproj | 53 ++++ VPet-Simulator.Windows/App.config | 6 + VPet-Simulator.Windows/App.xaml | 9 + VPet-Simulator.Windows/App.xaml.cs | 17 ++ VPet-Simulator.Windows/MWController.cs | 47 ++++ VPet-Simulator.Windows/MainWindow.xaml | 13 + VPet-Simulator.Windows/MainWindow.xaml.cs | 106 ++++++++ .../Properties/AssemblyInfo.cs | 55 ++++ .../Properties/Resources.Designer.cs | 71 ++++++ .../Properties/Resources.resx | 117 +++++++++ .../Properties/Settings.Designer.cs | 30 +++ .../Properties/Settings.settings | 7 + .../VPet-Simulator.Windows.csproj | 112 +++++++++ VPet-Simulator.Windows/mod/0000_core/icon.png | Bin 0 -> 194485 bytes VPet-Simulator.Windows/mod/0000_core/info.lps | 4 + .../mod/0000_core/pet/vup.lps | 1 + .../Climb_Left/Nomal/从左边爬_000_250.png | Bin 0 -> 206924 bytes .../Climb_Left/Nomal/从左边爬_001_250.png | Bin 0 -> 214359 bytes .../Climb_Left/Nomal/从左边爬_002_250.png | Bin 0 -> 212577 bytes .../Climb_Left/Nomal/从左边爬_003_250.png | Bin 0 -> 214359 bytes .../Nomal/从右边爬_000_250.png | Bin 0 -> 190310 bytes .../Nomal/从右边爬_001_250.png | Bin 0 -> 199650 bytes .../Nomal/从右边爬_002_250.png | Bin 0 -> 201786 bytes .../Nomal/从右边爬_003_250.png | Bin 0 -> 199650 bytes .../Nomal/从上向左爬_000_375.png | Bin 0 -> 188354 bytes .../Nomal/从上向左爬_001_125.png | Bin 0 -> 194971 bytes .../Nomal/从上向左爬_002_125.png | Bin 0 -> 187273 bytes .../Nomal/从上向左爬_003_375.png | Bin 0 -> 192262 bytes .../Nomal/从上向右爬_000_375.png | Bin 0 -> 193749 bytes .../Nomal/从上向右爬_001_125.png | Bin 0 -> 199253 bytes .../Nomal/从上向右爬_002_125.png | Bin 0 -> 191566 bytes .../Nomal/从上向右爬_003_375.png | Bin 0 -> 197267 bytes .../Crawl_Left/Nomal/爬行向左_000_250.png | Bin 0 -> 171297 bytes .../Crawl_Left/Nomal/爬行向左_001_125.png | Bin 0 -> 166291 bytes .../Crawl_Left/Nomal/爬行向左_002_125.png | Bin 0 -> 166489 bytes .../Crawl_Left/Nomal/爬行向左_003_250.png | Bin 0 -> 151586 bytes .../Crawl_Left/Nomal/爬行向左_004_250.png | Bin 0 -> 150236 bytes .../Crawl_Left/Nomal/爬行向左_005_250.png | Bin 0 -> 151586 bytes .../Crawl_Left/Nomal/爬行向左_006_125.png | Bin 0 -> 166489 bytes .../Crawl_Left/Nomal/爬行向左_007_125.png | Bin 0 -> 166291 bytes .../Crawl_Left/Nomal/爬行向左_008_250.png | Bin 0 -> 171297 bytes .../Nomal/向右爬行_000_250.png | Bin 0 -> 165056 bytes .../Nomal/向右爬行_001_125.png | Bin 0 -> 157009 bytes .../Nomal/向右爬行_002_125.png | Bin 0 -> 155666 bytes .../Nomal/向右爬行_003_250.png | Bin 0 -> 142772 bytes .../Nomal/向右爬行_004_250.png | Bin 0 -> 140003 bytes .../Nomal/向右爬行_005_250.png | Bin 0 -> 142772 bytes .../Nomal/向右爬行_006_125.png | Bin 0 -> 155666 bytes .../Nomal/向右爬行_007_125.png | Bin 0 -> 157009 bytes .../Nomal/向右爬行_008_250.png | Bin 0 -> 165056 bytes .../pet/vup/Default/Nomal/呼吸_0_250.png | Bin 0 -> 235840 bytes .../pet/vup/Default/Nomal/呼吸_1_125.png | Bin 0 -> 252787 bytes .../pet/vup/Default/Nomal/呼吸_2_125.png | Bin 0 -> 251262 bytes .../pet/vup/Default/Nomal/呼吸_3_375.png | Bin 0 -> 253252 bytes .../pet/vup/Default/Nomal/呼吸_4_125.png | Bin 0 -> 265788 bytes .../pet/vup/Default/Nomal/呼吸_5_250.png | Bin 0 -> 264845 bytes .../pet/vup/Default/Nomal/呼吸_6_125.png | Bin 0 -> 252787 bytes .../pet/vup/Default/Nomal/呼吸_7_125.png | Bin 0 -> 235840 bytes .../pet/vup/Fall/A_Nomal/下落_000_125.png | Bin 0 -> 168923 bytes .../pet/vup/Fall/A_Nomal/下落_001_125.png | Bin 0 -> 179912 bytes .../pet/vup/Fall/A_Nomal/下落_002_125.png | Bin 0 -> 184687 bytes .../pet/vup/Fall/A_Nomal/下落_003_125.png | Bin 0 -> 174640 bytes .../pet/vup/Fall/A_Nomal/下落_004_125.png | Bin 0 -> 184687 bytes .../pet/vup/Fall/A_Nomal/下落_005_125.png | Bin 0 -> 179912 bytes .../pet/vup/Fall/A_Nomal/下落_006_125.png | Bin 0 -> 184687 bytes .../vup/Fall/A_Nomal_1/落下中_000_125.png | Bin 0 -> 179912 bytes .../vup/Fall/A_Nomal_1/落下中_001_125.png | Bin 0 -> 184687 bytes .../vup/Fall/A_Nomal_1/落下中_002_125.png | Bin 0 -> 174640 bytes .../vup/Fall/A_Nomal_1/落下中_003_125.png | Bin 0 -> 184687 bytes .../vup/Fall/A_Nomal_1/落下中_004_125.png | Bin 0 -> 179912 bytes .../vup/Fall/A_Nomal_1/落下中_005_125.png | Bin 0 -> 184687 bytes .../pet/vup/Fall/B_Nomal/落下_000_125.png | Bin 0 -> 146223 bytes .../pet/vup/Fall/B_Nomal/落下_001_125.png | Bin 0 -> 145227 bytes .../pet/vup/Fall/B_Nomal/落下_002_125.png | Bin 0 -> 150426 bytes .../pet/vup/Fall/B_Nomal/落下_003_125.png | Bin 0 -> 144641 bytes .../pet/vup/Fall/B_Nomal/落下_004_125.png | Bin 0 -> 121743 bytes .../pet/vup/Fall/B_Nomal/落下_005_125.png | Bin 0 -> 124957 bytes .../pet/vup/Fall/B_Nomal/落下_006_625.png | Bin 0 -> 121743 bytes .../Raised_Dynamic/Nomal/1/摇晃_000_500.png | Bin 0 -> 192009 bytes .../Raised_Dynamic/Nomal/1/摇晃_001_125.png | Bin 0 -> 233004 bytes .../Raised_Dynamic/Nomal/1/摇晃_002_125.png | Bin 0 -> 241403 bytes .../Raised_Dynamic/Nomal/1/摇晃_003_125.png | Bin 0 -> 222119 bytes .../Raised_Dynamic/Nomal/1/摇晃_004_125.png | Bin 0 -> 233170 bytes .../Raised_Dynamic/Nomal/1/摇晃_005_125.png | Bin 0 -> 217940 bytes .../Raised_Dynamic/Nomal/1/摇晃_006_125.png | Bin 0 -> 229497 bytes .../Raised_Dynamic/Nomal/1/摇晃_007_375.png | Bin 0 -> 192009 bytes .../Raised_Dynamic/Nomal/2/狗刨_000_125.png | Bin 0 -> 188820 bytes .../Raised_Dynamic/Nomal/2/狗刨_001_125.png | Bin 0 -> 200431 bytes .../Raised_Dynamic/Nomal/2/狗刨_002_125.png | Bin 0 -> 186654 bytes .../Raised_Dynamic/Nomal/2/狗刨_003_125.png | Bin 0 -> 198543 bytes .../Raised_Dynamic/Nomal/2/狗刨_004_125.png | Bin 0 -> 193770 bytes .../Raised_Dynamic/Nomal/2/狗刨_005_125.png | Bin 0 -> 204117 bytes .../Raised_Dynamic/Nomal/2/狗刨_006_125.png | Bin 0 -> 190889 bytes .../Raised_Dynamic/Nomal/2/狗刨_007_125.png | Bin 0 -> 193770 bytes .../Raised_Dynamic/Nomal/2/狗刨_008_125.png | Bin 0 -> 198543 bytes .../Raised_Dynamic/Nomal/2/狗刨_009_125.png | Bin 0 -> 190889 bytes .../Raised_Dynamic/Nomal/2/狗刨_010_125.png | Bin 0 -> 200431 bytes .../A_Nomal/被提起来_000_125.png | Bin 0 -> 201277 bytes .../A_Nomal/被提起来_001_125.png | Bin 0 -> 205188 bytes .../A_Nomal/被提起来_002_125.png | Bin 0 -> 209030 bytes .../A_Nomal/被提起来_003_125.png | Bin 0 -> 205188 bytes .../A_Nomal/被提起来_004_125.png | Bin 0 -> 204531 bytes .../A_Nomal/被提起来_005_625.png | Bin 0 -> 205188 bytes .../Raised_Static/B_Nomal/眨眼_000_125.png | Bin 0 -> 205188 bytes .../Raised_Static/B_Nomal/眨眼_001_125.png | Bin 0 -> 202668 bytes .../Raised_Static/B_Nomal/眨眼_002_500.png | Bin 0 -> 204887 bytes .../Raised_Static/B_Nomal/眨眼_003_125.png | Bin 0 -> 202668 bytes .../Raised_Static/B_Nomal/眨眼_004_875.png | Bin 0 -> 205226 bytes .../pet/vup/Squat/A_Nomal/下蹲_0_125.png | Bin 0 -> 174774 bytes .../pet/vup/Squat/A_Nomal/下蹲_1_125.png | Bin 0 -> 187066 bytes .../pet/vup/Squat/A_Nomal/下蹲_2_125.png | Bin 0 -> 166827 bytes .../pet/vup/Squat/A_Nomal/下蹲_3_500.png | Bin 0 -> 181487 bytes .../pet/vup/Squat/B_Nomal/下蹲_0_125.png | Bin 0 -> 160646 bytes .../pet/vup/Squat/B_Nomal/下蹲_1_375.png | Bin 0 -> 164897 bytes .../pet/vup/Squat/B_Nomal/下蹲_2_125.png | Bin 0 -> 160646 bytes .../pet/vup/Squat/B_Nomal/下蹲_3_125.png | Bin 0 -> 163994 bytes .../pet/vup/Squat/B_Nomal/下蹲_4_125.png | Bin 0 -> 164897 bytes .../pet/vup/Squat/B_Nomal/下蹲_5_125.png | Bin 0 -> 160643 bytes .../pet/vup/Squat/B_Nomal/下蹲_6_375.png | Bin 0 -> 164897 bytes .../pet/vup/Squat/C_Nomal/下蹲_0_125.png | Bin 0 -> 173913 bytes .../pet/vup/Squat/C_Nomal/下蹲_1_125.png | Bin 0 -> 174980 bytes .../pet/vup/Squat/C_Nomal/下蹲_2_125.png | Bin 0 -> 222306 bytes .../pet/vup/Squat/C_Nomal/下蹲_3_125.png | Bin 0 -> 202183 bytes .../pet/vup/Squat/C_Nomal/下蹲_4_125.png | Bin 0 -> 218657 bytes .../vup/Touch_Head/A_Nomal/摸头_0_250.png | Bin 0 -> 235339 bytes .../vup/Touch_Head/A_Nomal/摸头_1_125.png | Bin 0 -> 255718 bytes .../vup/Touch_Head/B_Nomal/摸头_000_125.png | Bin 0 -> 228149 bytes .../vup/Touch_Head/B_Nomal/摸头_001_125.png | Bin 0 -> 222440 bytes .../vup/Touch_Head/B_Nomal/摸头_002_125.png | Bin 0 -> 211730 bytes .../vup/Touch_Head/B_Nomal/摸头_003_125.png | Bin 0 -> 228149 bytes .../vup/Touch_Head/B_Nomal/摸头_004_125.png | Bin 0 -> 222440 bytes .../vup/Touch_Head/B_Nomal/摸头_005_250.png | Bin 0 -> 211730 bytes .../vup/Touch_Head/B_Nomal/摸头_006_125.png | Bin 0 -> 228149 bytes .../vup/Touch_Head/B_Nomal/摸头_007_125.png | Bin 0 -> 222440 bytes .../vup/Touch_Head/B_Nomal/摸头_008_125.png | Bin 0 -> 211730 bytes .../vup/Touch_Head/B_Nomal/摸头_009_125.png | Bin 0 -> 222440 bytes .../vup/Touch_Head/B_Nomal/摸头_010_125.png | Bin 0 -> 228149 bytes .../vup/Touch_Head/C_Nomal/摸头_0_125.png | Bin 0 -> 212270 bytes .../vup/Touch_Head/C_Nomal/摸头_1_250.png | Bin 0 -> 219418 bytes .../A_Nomal/走路向左_000_125.png | Bin 0 -> 208489 bytes .../A_Nomal/走路向左_001_125.png | Bin 0 -> 215884 bytes .../A_Nomal/走路向左_002_125.png | Bin 0 -> 221152 bytes .../B_Nomal/走路向左_000_125.png | Bin 0 -> 160911 bytes .../B_Nomal/走路向左_001_125.png | Bin 0 -> 168345 bytes .../B_Nomal/走路向左_002_125.png | Bin 0 -> 169212 bytes .../B_Nomal/走路向左_003_125.png | Bin 0 -> 157650 bytes .../B_Nomal/走路向左_004_125.png | Bin 0 -> 171946 bytes .../B_Nomal/走路向左_005_125.png | Bin 0 -> 173147 bytes .../C_Nomal/走路向左_000_125.png | Bin 0 -> 174251 bytes .../C_Nomal/走路向左_001_125.png | Bin 0 -> 134887 bytes .../C_Nomal/走路向左_002_125.png | Bin 0 -> 215997 bytes .../C_Nomal/走路向左_003_125.png | Bin 0 -> 219491 bytes .../C_Nomal/走路向左_004_125.png | Bin 0 -> 208489 bytes .../C_Nomal/走路向左_005_125.png | Bin 0 -> 204376 bytes .../A_Nomal/走路向右_000_125.png | Bin 0 -> 206296 bytes .../A_Nomal/走路向右_001_125.png | Bin 0 -> 211603 bytes .../A_Nomal/走路向右_002_125.png | Bin 0 -> 217894 bytes .../B_Nomal/走路向右_000_125.png | Bin 0 -> 155716 bytes .../B_Nomal/走路向右_001_125.png | Bin 0 -> 163716 bytes .../B_Nomal/走路向右_002_125.png | Bin 0 -> 165460 bytes .../B_Nomal/走路向右_003_125.png | Bin 0 -> 150832 bytes .../B_Nomal/走路向右_004_125.png | Bin 0 -> 170735 bytes .../B_Nomal/走路向右_005_125.png | Bin 0 -> 170686 bytes .../C_Nomal/走路向右_000_125.png | Bin 0 -> 168312 bytes .../C_Nomal/走路向右_001_125.png | Bin 0 -> 127171 bytes .../C_Nomal/走路向右_002_125.png | Bin 0 -> 210680 bytes .../C_Nomal/走路向右_003_125.png | Bin 0 -> 213692 bytes .../C_Nomal/走路向右_004_125.png | Bin 0 -> 206296 bytes .../C_Nomal/走路向右_005_125.png | Bin 0 -> 199571 bytes VPet-Simulator.Windows/packages.config | 5 + VPet.sln | 37 +++ 207 files changed, 2834 insertions(+), 1 deletion(-) create mode 100644 VPet-Simulator.Core/Display/Main.xaml create mode 100644 VPet-Simulator.Core/Display/Main.xaml.cs create mode 100644 VPet-Simulator.Core/Display/MainDisplay.cs create mode 100644 VPet-Simulator.Core/Display/MainLogic.cs create mode 100644 VPet-Simulator.Core/Display/MessageBar.xaml create mode 100644 VPet-Simulator.Core/Display/MessageBar.xaml.cs create mode 100644 VPet-Simulator.Core/Display/Theme.xaml create mode 100644 VPet-Simulator.Core/Display/ToolBar.xaml create mode 100644 VPet-Simulator.Core/Display/ToolBar.xaml.cs create mode 100644 VPet-Simulator.Core/Graph/GraphCore.cs create mode 100644 VPet-Simulator.Core/Graph/IEyeTracking.xaml create mode 100644 VPet-Simulator.Core/Graph/IEyeTracking.xaml.cs create mode 100644 VPet-Simulator.Core/Graph/IGraph.cs create mode 100644 VPet-Simulator.Core/Graph/PNGAnimation.xaml create mode 100644 VPet-Simulator.Core/Graph/PNGAnimation.xaml.cs create mode 100644 VPet-Simulator.Core/Graph/Picture.xaml create mode 100644 VPet-Simulator.Core/Graph/Picture.xaml.cs create mode 100644 VPet-Simulator.Core/Handle/Function.cs create mode 100644 VPet-Simulator.Core/Handle/GameCore.cs create mode 100644 VPet-Simulator.Core/Handle/IController.cs create mode 100644 VPet-Simulator.Core/Handle/Save.cs create mode 100644 VPet-Simulator.Core/Handle/Setting.cs create mode 100644 VPet-Simulator.Core/Item/Drink.cs create mode 100644 VPet-Simulator.Core/Item/Food.cs create mode 100644 VPet-Simulator.Core/Item/Item.cs create mode 100644 VPet-Simulator.Core/Properties/AssemblyInfo.cs create mode 100644 VPet-Simulator.Core/Properties/Resources.Designer.cs create mode 100644 VPet-Simulator.Core/Properties/Resources.resx create mode 100644 VPet-Simulator.Core/Properties/Settings.Designer.cs create mode 100644 VPet-Simulator.Core/Properties/Settings.settings create mode 100644 VPet-Simulator.Core/VPet-Simulator.Core.csproj create mode 100644 VPet-Simulator.Core/packages.config create mode 100644 VPet-Simulator.Tool/App.config create mode 100644 VPet-Simulator.Tool/Program.cs create mode 100644 VPet-Simulator.Tool/Properties/AssemblyInfo.cs create mode 100644 VPet-Simulator.Tool/VPet-Simulator.Tool.csproj create mode 100644 VPet-Simulator.Windows/App.config create mode 100644 VPet-Simulator.Windows/App.xaml create mode 100644 VPet-Simulator.Windows/App.xaml.cs create mode 100644 VPet-Simulator.Windows/MWController.cs create mode 100644 VPet-Simulator.Windows/MainWindow.xaml create mode 100644 VPet-Simulator.Windows/MainWindow.xaml.cs create mode 100644 VPet-Simulator.Windows/Properties/AssemblyInfo.cs create mode 100644 VPet-Simulator.Windows/Properties/Resources.Designer.cs create mode 100644 VPet-Simulator.Windows/Properties/Resources.resx create mode 100644 VPet-Simulator.Windows/Properties/Settings.Designer.cs create mode 100644 VPet-Simulator.Windows/Properties/Settings.settings create mode 100644 VPet-Simulator.Windows/VPet-Simulator.Windows.csproj create mode 100644 VPet-Simulator.Windows/mod/0000_core/icon.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/info.lps create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup.lps create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Left/Nomal/从左边爬_000_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Left/Nomal/从左边爬_001_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Left/Nomal/从左边爬_002_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Left/Nomal/从左边爬_003_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Right/Nomal/从右边爬_000_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Right/Nomal/从右边爬_001_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Right/Nomal/从右边爬_002_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Right/Nomal/从右边爬_003_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Left/Nomal/从上向左爬_000_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Left/Nomal/从上向左爬_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Left/Nomal/从上向左爬_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Left/Nomal/从上向左爬_003_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Right/Nomal/从上向右爬_000_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Right/Nomal/从上向右爬_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Right/Nomal/从上向右爬_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Climb_Top_Right/Nomal/从上向右爬_003_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_000_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_003_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_004_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_005_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_007_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Left/Nomal/爬行向左_008_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_000_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_003_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_004_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_005_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_007_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Crawl_Right/Nomal/向右爬行_008_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_0_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_1_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_2_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_3_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_4_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_5_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_6_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Default/Nomal/呼吸_7_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal/下落_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/A_Nomal_1/落下中_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Fall/B_Nomal/落下_006_625.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_000_500.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/1/摇晃_007_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_007_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_008_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_009_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Dynamic/Nomal/2/狗刨_010_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/A_Nomal/被提起来_005_625.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/B_Nomal/眨眼_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/B_Nomal/眨眼_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/B_Nomal/眨眼_002_500.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/B_Nomal/眨眼_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Raised_Static/B_Nomal/眨眼_004_875.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/A_Nomal/下蹲_0_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/A_Nomal/下蹲_1_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/A_Nomal/下蹲_2_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/A_Nomal/下蹲_3_500.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_0_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_1_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_2_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_3_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_4_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_5_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/B_Nomal/下蹲_6_375.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/C_Nomal/下蹲_0_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/C_Nomal/下蹲_1_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/C_Nomal/下蹲_2_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/C_Nomal/下蹲_3_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Squat/C_Nomal/下蹲_4_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/A_Nomal/摸头_0_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/A_Nomal/摸头_1_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_005_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_006_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_007_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_008_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_009_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/B_Nomal/摸头_010_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/C_Nomal/摸头_0_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Touch_Head/C_Nomal/摸头_1_250.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/A_Nomal/走路向左_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/A_Nomal/走路向左_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/A_Nomal/走路向左_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/B_Nomal/走路向左_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Left/C_Nomal/走路向左_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/A_Nomal/走路向右_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/A_Nomal/走路向右_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/A_Nomal/走路向右_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/B_Nomal/走路向右_005_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_000_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_001_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_002_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_003_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_004_125.png create mode 100644 VPet-Simulator.Windows/mod/0000_core/pet/vup/Walk_Right/C_Nomal/走路向右_005_125.png create mode 100644 VPet-Simulator.Windows/packages.config create mode 100644 VPet.sln diff --git a/README.md b/README.md index d82c5d1..afa8d68 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,127 @@ -# VPet +# VPet-Simulator + 虚拟桌宠模拟器 一个开源的桌宠软件, 可以内置到任何WPF应用程序 + +## 软件设计 + +* VPet-Simulator: 适用于桌面端的虚拟桌宠模拟器 + * MainWindows 主窗体,存放和展示Core + * WinSetting.xaml 软件设置/MOD 窗口 + * MWController.cs 窗体控制器 +* VPet-Simulator.Core: 软件核心 方便内置到任何WPF应用程序(例如:VUP-Simulator) + * Handle 接口与控件 + * IController 窗体控制器 (调用相关功能,例如移动到侧边等) + * Function 通用功能 + * GameCore 游戏核心,包含各种数据等内容 + * Save 游戏存档等 + * Setting 游戏设置 + * Graph 图形渲染 + * IGraph 图形基本接口 + * IEyeTracking 眼部跟踪 + * PNGAnimation 桌宠动画组件 + * Picture 桌宠静态组件 + * Item 所有物品 + * Item 所有物品类 + * Food 可以吃的食物 + * Drink 可以喝的饮料 + * Display 显示 + * Main.xaml 核心显示部件 + * MainDisplay 核心显示方法 + * MainLogic 核心显示逻辑 + * ToolBar 点击人物时候的工具栏 + * MessageBar 人物说话时候的说话栏 + * Theme 主题 + +## 游戏设计 + +* 金钱 钱不是是万能的,没钱是万万不能的 +* 人物数据 + * 经验/等级 + * 盈利速度加成 + * 解锁更多对话等 + * 体力 + * 工作/摸头/学习 消耗体力 + * 自然百分比回复(在饱腹度>50%) + * 睡觉回复(饱腹度>=25) + * 饱腹度 固定上限100 + * 工作/学习 消耗饱腹度 + * 自然下降 + * 进食 回复 + * 心情 固定上限100 + * 工作/学习消耗 + * 摸头回复 + * 心情>=75时同时增加经验 + * 口渴度 固定上限100 + * 自然下降 + * 喝水回复 + * 低于 25 加生病条 + * 隐藏条: + * 生病条: + * 生病的概率 + * 心情<=25增加概率 心情>=75缓慢减少 + * 打工/学习增加固定百分比 + * 体力<=40 增加概率 + * 降低心情 + * 好感度 + * 心情<=25 降低+与心情同步减少 + * 心情>=90与心情同步增加 +* 人物互动 + * 摸头 + * 摸身子 + * 喂食 + * 喂水 + * 去打工 + * 去学习 + * 去睡觉 + * 玩耍 +* 人物隐藏互动 + * 被拉起 (切换位置) + * 爬墙 + * 爬地板 + * 躲藏 (被发现加心情) + +## 图像资源 + +图像资源可能需要拆分以至于支持动图 + +* 模式 (其他状态得制作符合该模式的表情/动作) 部分模式无特殊动作 + * 高兴 - 兴奋的表情/肢体动作 + * 普通 - 一般的表情/肢体动作 + * 状态不佳 - 情绪低落/肢体动作 + * 生病(躺床) - 单独做个生病躺床的拆分 +* IDEL 待机状态 + * 发呆 - (可以准备多个) + * 盯着鼠标看 (需要拆分眼睛和眨眼等) + * 等等 - 其他待机状态,例如不小心睡着等,或者换几个姿势(换姿势无生病) +* 人物互动 + * 摸头 - 摸头,包含高兴和附魔的手 可以准备不同的动画和表情 + * 摸身子 - 嫌弃/害羞/弹问号/等 + * 喂食 - 吃掉食物动作和动画 + * 水果 ($15 生病条-2饱腹度+10) + * 汉堡 ($20 饱腹度+40 生病条+1 口渴-10) + * 沙拉 ($20 饱腹度+20 生病条-2) + * 药丸 + * 更多 + * 喂水 - 喝水和更多动作和动画 + * 普通水 + * 矿泉水 + * 饮料 + * 药水 + * 更多 + * 去打工 (无生病) + * 去当虚拟主播 (更高层次eg:高级设备) lv>=20 + * 去当虚拟主播 (符合游戏设定 普通设备) lv>=10 + * 去编写程序 lv>=5 + * 去当外聘客服 全通用 + * 去学习 (无生病) + * 看书 (不同的颜色决定等级) + * 去睡觉 + * 玩耍 (无生病) + * 玩游戏机 + * 运动(打球等) + * 小游戏(可以后续设计,例如井字棋等等) +* 人物隐藏互动 + * 被拉起 (切换位置)(无生病,生病时使用状态不佳) + * 爬墙 (无状态不佳/生病)) + * 爬地板 (无状态不佳/生病)) + * 躲藏 (被发现加心情 无状态不佳/生病) \ No newline at end of file diff --git a/VPet-Simulator.Core/Display/Main.xaml b/VPet-Simulator.Core/Display/Main.xaml new file mode 100644 index 0000000..a9cb8b8 --- /dev/null +++ b/VPet-Simulator.Core/Display/Main.xaml @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/VPet-Simulator.Core/Display/Main.xaml.cs b/VPet-Simulator.Core/Display/Main.xaml.cs new file mode 100644 index 0000000..485a97c --- /dev/null +++ b/VPet-Simulator.Core/Display/Main.xaml.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +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; + +namespace VPet_Simulator.Core +{ + /// + /// Main.xaml 的交互逻辑 + /// + public partial class Main : UserControl + { + public GameCore Core; + public ToolBar Bar; + public Main(GameCore core) + { + InitializeComponent(); + Core = core; + + Bar = new ToolBar(this); + UIGrid.Children.Add(Bar); + Bar.Visibility = Visibility.Collapsed; + + Core.TouchEvent.Add(new TouchArea(new Point(138, 12), new Size(224, 176), DisplayTouchHead)); + Core.TouchEvent.Add(new TouchArea(new Point(0, 0), new Size(500, 180), DisplayRaised, true)); + var ig = Core.Graph.FindGraph(GraphCore.GraphType.Default, Core.Save.Mode); + PetGrid.Child = ig.This; + ig.Run(); + + EventTimer.Elapsed += EventTimer_Elapsed; + } + bool isPress = false; + private void MainGrid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) + { + isPress = true; + Task.Run(() => + { + Thread.Sleep(Core.Setting.PressLength); + Point mp = default; + Dispatcher.BeginInvoke(new Action(() => mp = Mouse.GetPosition(MainGrid))).Wait(); + if (isPress) + {//历遍长按事件 + var act = Core.TouchEvent.FirstOrDefault(x => x.IsPress == true && x.Touch(mp)); + if (act != null) + Dispatcher.BeginInvoke(act.DoAction); + } + else + {//历遍点击事件 + var act = Core.TouchEvent.FirstOrDefault(x => x.IsPress == false && x.Touch(mp)); + if (act != null) + Dispatcher.Invoke(act.DoAction); + else + Dispatcher.Invoke(Bar.Show); + } + }); + } + + private void MainGrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) + { + isPress = false; + if(rasetype != -1) + { + MainGrid.MouseMove -= MainGrid_MouseMove; + rasetype = -1; + } + } + + private void MainGrid_MouseMove(object sender, MouseEventArgs e) + { + var mp = e.GetPosition(MainGrid); + var x = mp.X - 290; + var y = mp.Y - 128; + Core.Controller.MoveWindows(x, y); + if (Math.Abs(x) + Math.Abs(y) > 10) + rasetype = 0; + } + } +} diff --git a/VPet-Simulator.Core/Display/MainDisplay.cs b/VPet-Simulator.Core/Display/MainDisplay.cs new file mode 100644 index 0000000..fb3cca0 --- /dev/null +++ b/VPet-Simulator.Core/Display/MainDisplay.cs @@ -0,0 +1,142 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.AccessControl; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; +using System.Windows.Threading; + +namespace VPet_Simulator.Core +{ + public partial class Main + { + /// + /// 显示默认情况 + /// + public void DisplayNomal() + { + IsNomal = true; + Display(Core.Graph.FindGraph(GraphCore.GraphType.Default, Core.Save.Mode)); + } + /// + /// 显示摸头情况 + /// + public void DisplayTouchHead() + { + IsNomal = false; + if (((IGraph)PetGrid.Child).GraphType == GraphCore.GraphType.Touch_Head_B_Loop) + { + ((IGraph)PetGrid.Child).IsContinue = true; + return; + } + Display(Core.Graph.FindGraph(GraphCore.GraphType.Touch_Head_A_Start, Core.Save.Mode), () => + Display(Core.Graph.FindGraph(GraphCore.GraphType.Touch_Head_B_Loop, Core.Save.Mode), () => + Display(Core.Graph.FindGraph(GraphCore.GraphType.Touch_Head_C_End, Core.Save.Mode), () => + Display(Core.Graph.FindGraph(GraphCore.GraphType.Default, Core.Save.Mode) + )))); + } + /// + /// 显示拖拽情况 + /// + public void DisplayRaised() + { + IsNomal = false; + //位置迁移: 254-128 + MainGrid.MouseMove += MainGrid_MouseMove; + rasetype = 0; + DisplayRaising(); + //if (((IGraph)PetGrid.Child).GraphType == GraphCore.GraphType.Touch_Head_B_Loop) + //{ + // ((IGraph)PetGrid.Child).IsContinue = true; + // return; + //} + //Display(Core.Graph.FindGraph(GraphCore.GraphType.Raised_Dynamic, Core.Save.Mode), () => + // Display(Core.Graph.FindGraph(GraphCore.GraphType.Touch_Head_B_Loop, Core.Save.Mode), () => + // Display(Core.Graph.FindGraph(GraphCore.GraphType.Touch_Head_C_End, Core.Save.Mode), () => + // Display(Core.Graph.FindGraph(GraphCore.GraphType.Default, Core.Save.Mode) + //)))); + } + int rasetype = -1; + /// + /// 显示拖拽中 + /// + public void DisplayRaising() + { + switch (rasetype++) + { + case -1: + DisplayFalled(); + rasetype = -2; + return; + case 0: + case 1: + case 2: + Display(Core.Graph.FindGraph(GraphCore.GraphType.Raised_Dynamic, Core.Save.Mode), DisplayRaising); + return; + case 3: + Display(Core.Graph.FindGraph(GraphCore.GraphType.Raised_Static_A_Start, Core.Save.Mode), DisplayRaising); + return; + default: + Display(Core.Graph.FindGraph(GraphCore.GraphType.Raised_Static_B_Loop, Core.Save.Mode), DisplayRaising); + rasetype = 4; + break; + } + } + /// + /// 显示掉到地上 + /// + public void DisplayFalled() + {//TODO:爬起 + Display(Core.Graph.FindGraph(GraphCore.GraphType.Fall_B_End, Core.Save.Mode), DisplayNomal); + } + + + + bool petgridcrlf = true; + /// + /// 显示动画 (自动多层切换) + /// + /// 动画 + /// 结束操作 + public void Display(IGraph graph, Action EndAction = null) + { + if (PetGrid.Child == graph.This) + { + ((IGraph)(PetGrid.Child)).Run(EndAction); + return; + } + else if (PetGrid2.Child == graph.This) + { + ((IGraph)(PetGrid2.Child)).Run(EndAction); + return; + } + + + graph.Run(EndAction); + if (petgridcrlf) + { + ((IGraph)(PetGrid.Child)).Stop(true); + Dispatcher.Invoke(() => PetGrid2.Child = graph.This); + Task.Run(() => + { + Thread.Sleep(25); + Dispatcher.Invoke(() => PetGrid.Child = null); + }); + } + else + { + ((IGraph)(PetGrid2.Child)).Stop(true); + Dispatcher.Invoke(() => PetGrid.Child = graph.This); + Task.Run(() => + { + Thread.Sleep(25); + Dispatcher.Invoke(() => PetGrid2.Child = null); + }); + } + petgridcrlf = !petgridcrlf; + + } + } +} diff --git a/VPet-Simulator.Core/Display/MainLogic.cs b/VPet-Simulator.Core/Display/MainLogic.cs new file mode 100644 index 0000000..f92be74 --- /dev/null +++ b/VPet-Simulator.Core/Display/MainLogic.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Timers; + +namespace VPet_Simulator.Core +{ + public partial class Main + { + /// + /// 是否在默认情况(playnoaml) + /// + public bool IsNomal = true; + + public Timer EventTimer = new Timer(15000) + { + AutoReset = true, + Enabled = true + }; + private void EventTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + if (IsNomal) + { + + } + } + } +} diff --git a/VPet-Simulator.Core/Display/MessageBar.xaml b/VPet-Simulator.Core/Display/MessageBar.xaml new file mode 100644 index 0000000..3cd354d --- /dev/null +++ b/VPet-Simulator.Core/Display/MessageBar.xaml @@ -0,0 +1,11 @@ + + + + + diff --git a/VPet-Simulator.Core/Display/MessageBar.xaml.cs b/VPet-Simulator.Core/Display/MessageBar.xaml.cs new file mode 100644 index 0000000..5b6705f --- /dev/null +++ b/VPet-Simulator.Core/Display/MessageBar.xaml.cs @@ -0,0 +1,28 @@ +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; + +namespace VPet_Simulator.Core +{ + /// + /// MessageBar.xaml 的交互逻辑 + /// + public partial class MessageBar : UserControl + { + public MessageBar() + { + InitializeComponent(); + } + } +} diff --git a/VPet-Simulator.Core/Display/Theme.xaml b/VPet-Simulator.Core/Display/Theme.xaml new file mode 100644 index 0000000..ebb287a --- /dev/null +++ b/VPet-Simulator.Core/Display/Theme.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VPet-Simulator.Core/Display/ToolBar.xaml b/VPet-Simulator.Core/Display/ToolBar.xaml new file mode 100644 index 0000000..5f25bc4 --- /dev/null +++ b/VPet-Simulator.Core/Display/ToolBar.xaml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + +