Skip to content

Commit

Permalink
支持显示前中后3层夹心动画
Browse files Browse the repository at this point in the history
  • Loading branch information
LorisYounger committed Jun 1, 2023
1 parent 67b3940 commit 3a5ac77
Show file tree
Hide file tree
Showing 108 changed files with 313 additions and 333 deletions.
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,14 @@

* 桌宠动画
* 物品/食物/饮料等
* 桌宠工作
* 自定义桌宠工作
* 说话文本
* 主题
* 代码插件 - 通过编写代码给桌宠添加内容
* 添加新的动画逻辑/显示方案 (eg: l2d/spine 等)
* 添加新功能 (闹钟/记事板等等)
* 几乎无所不能, 示例例子参见 [VPet.Plugin.Demo](https://github.com/LorisYounger/VPet.Plugin.Demo)


### 反馈&建议&联系我们

Expand Down Expand Up @@ -188,7 +193,7 @@

## 参与开发

欢迎参与虚拟桌宠模拟器的开发! 为保证代码可维护度和游戏性,如果想要开发新的功能,请先[邮件联系](mailto:[email protected])我想要添加的功能/玩法, 以确保该功能/玩法适用于虚拟桌宠模拟器. 以免未来提交时因不合适被拒(而造成代码浪费)<br/>
欢迎参与虚拟桌宠模拟器的开发! 为保证代码可维护度和游戏性,如果想要开发新的功能,请先[邮件联系](mailto:[email protected])或发[Issues](https://github.com/LorisYounger/VPet/issues)我想要添加的功能/玩法, 以确保该功能/玩法适用于虚拟桌宠模拟器. 以免未来提交时因不合适被拒(而造成代码浪费)<br/>
如果是修复错误或者BUG,无需联系我,修好后直接PR即可

当想法通过后,您可以通过 [fork](https://github.com/LorisYounger/VPet/fork) 功能拷贝代码至自己的github以方便编写自己的代码, 编写完毕后通过[pull requests](https://github.com/LorisYounger/VPet/compare) 提交<br/>
Expand Down
8 changes: 0 additions & 8 deletions VPet-Simulator.Core/Display/Main.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,20 +1,12 @@
using LinePutScript;
using Panuon.WPF.UI;
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;
using static VPet_Simulator.Core.GraphCore;

namespace VPet_Simulator.Core
Expand Down
67 changes: 60 additions & 7 deletions VPet-Simulator.Core/Display/MainDisplay.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
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;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Threading;
using static VPet_Simulator.Core.GraphCore;

Expand Down Expand Up @@ -1217,5 +1210,65 @@ public void Display(IGraph graph, Action EndAction = null)
petgridcrlf = !petgridcrlf;
GC.Collect();
}
/// <summary>
/// 查找可用与显示的Border (自动多层切换)
/// </summary>
/// <param name="graph">动画</param>
public Border FindDisplayBorder(IGraph graph)
{
DisplayType = graph.GraphType;
var PetGridTag = Dispatcher.Invoke(() => PetGrid.Tag);
var PetGrid2Tag = Dispatcher.Invoke(() => PetGrid2.Tag);
if (PetGridTag == graph)
{
petgridcrlf = true;
((IGraph)(PetGrid2Tag)).Stop(true);
Dispatcher.Invoke(() =>
{
PetGrid.Visibility = Visibility.Visible;
PetGrid2.Visibility = Visibility.Hidden;
});
return PetGrid;
}
else if (PetGrid2Tag == graph)
{
petgridcrlf = false;
((IGraph)(PetGridTag)).Stop(true);
Dispatcher.Invoke(() =>
{
PetGrid2.Visibility = Visibility.Visible;
PetGrid.Visibility = Visibility.Hidden;
});
return PetGrid2;
}

if (petgridcrlf)
{
((IGraph)(PetGridTag)).Stop(true);
Dispatcher.Invoke(() =>
{
PetGrid.Visibility = Visibility.Hidden;
PetGrid2.Visibility = Visibility.Visible;
//PetGrid2.Tag = graph;
});
petgridcrlf = !petgridcrlf;
GC.Collect();
return PetGrid2;
}
else
{
((IGraph)(PetGrid2Tag)).Stop(true);
Dispatcher.Invoke(() =>
{
PetGrid2.Visibility = Visibility.Hidden;
PetGrid.Visibility = Visibility.Visible;
//PetGrid.Tag = graph;
});
petgridcrlf = !petgridcrlf;
GC.Collect();
return PetGrid;
}

}
}
}
3 changes: 0 additions & 3 deletions VPet-Simulator.Core/Display/MainLogic.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
Expand Down
7 changes: 0 additions & 7 deletions VPet-Simulator.Core/Display/MessageBar.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
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 Timer = System.Timers.Timer;

namespace VPet_Simulator.Core
Expand Down
9 changes: 3 additions & 6 deletions VPet-Simulator.Core/Display/ToolBar.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,8 @@
<UniformGrid Columns="5" />
</ItemsPanelTemplate>
</Menu.ItemsPanel>
<MenuItem x:Name="MenuFeed" Header="投喂" HorizontalContentAlignment="Center" Padding="0">
<MenuItem Header="食物" HorizontalContentAlignment="Center" IsEnabled="False" />
<MenuItem Header="饮料" HorizontalContentAlignment="Center" IsEnabled="False" />
<MenuItem Header="药品" HorizontalContentAlignment="Center" IsEnabled="False" />
</MenuItem>
<MenuItem x:Name="MenuFeed" Header="投喂" HorizontalContentAlignment="Center" Padding="0"
x:FieldModifier="public" />
<MenuItem x:Name="MenuPanel" Header="面板" MouseEnter="MenuPanel_MouseEnter" MouseLeave="MenuPanel_MouseLeave"
HorizontalContentAlignment="Center" Padding="0" />
<MenuItem x:Name="MenuInteract" Header="互动" HorizontalContentAlignment="Center" Width="99" Padding="0">
Expand All @@ -120,7 +117,7 @@
<MenuItem x:Name="MenuDIY" Header="自定" HorizontalContentAlignment="Center" Click="MenuDIY_Click"
x:FieldModifier="public" Padding="0" />
<MenuItem x:Name="MenuSetting" Header="系统" HorizontalContentAlignment="Center" x:FieldModifier="public"
Padding="0" />
Padding="0" />
</Menu>
</Grid>
</UserControl>
17 changes: 4 additions & 13 deletions VPet-Simulator.Core/Display/ToolBar.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
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.Timers;
using Timer = System.Timers.Timer;
using Panuon.WPF.UI;
Expand Down Expand Up @@ -260,6 +251,7 @@ public void Dispose()

private void Sleep_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
if (m.Core.Save.Mode != GameSave.ModeType.Ill)
if (m.State == Main.WorkingState.Sleep)
m.Display(GraphCore.GraphType.Sleep_C_End, m.DisplayNomal);
Expand All @@ -269,34 +261,33 @@ private void Sleep_Click(object sender, RoutedEventArgs e)
{
m.WorkTimer.Stop(() => m.DisplaySleep(true));
}
this.Visibility = Visibility.Collapsed;
}

private void Study_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
if (m.Core.Save.Mode != GameSave.ModeType.Ill)
if (m.State == Main.WorkingState.Study)
m.WorkTimer.Stop();
else m.WorkTimer.Start(Main.WorkingState.Study);
this.Visibility = Visibility.Collapsed;
}

private void Work1_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
if (m.Core.Save.Mode != GameSave.ModeType.Ill)
if (m.State == Main.WorkingState.WorkONE)
m.WorkTimer.Stop();
else m.WorkTimer.Start(Main.WorkingState.WorkONE);
this.Visibility = Visibility.Collapsed;
}

private void Work2_Click(object sender, RoutedEventArgs e)
{
this.Visibility = Visibility.Collapsed;
if (m.Core.Save.Mode != GameSave.ModeType.Ill)
if (m.State == Main.WorkingState.WorkTWO)
m.WorkTimer.Stop();
else m.WorkTimer.Start(Main.WorkingState.WorkTWO);
this.Visibility = Visibility.Collapsed;
}
}
}
9 changes: 0 additions & 9 deletions VPet-Simulator.Core/Display/WorkTimer.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
using LinePutScript;
using LinePutScript.Converter;
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
Expand Down
15 changes: 1 addition & 14 deletions VPet-Simulator.Core/Graph/EyeTracking.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,17 +1,4 @@
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.Controls;

namespace VPet_Simulator.Core
{
Expand Down
Loading

0 comments on commit 3a5ac77

Please sign in to comment.