重构动画播放系统: 动画

This commit is contained in:
ZouJin 2023-07-19 04:09:51 +10:00
parent 0deb2b5f5e
commit 722aa3188d
809 changed files with 181 additions and 77 deletions

View File

@ -91,7 +91,7 @@ namespace VPet_Simulator.Core
});
});
EventTimer.Elapsed += EventTimer_Elapsed;
EventTimer.Elapsed += (s, e) => EventTimer_Elapsed();
MoveTimer.Elapsed += MoveTimer_Elapsed;
SmartMoveTimer.Elapsed += SmartMoveTimer_Elapsed;
}
@ -188,8 +188,7 @@ namespace VPet_Simulator.Core
private void MoveTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
string str = DisplayType.ToString();
if (MoveTimer.Enabled == false || (!str.Contains("Left") && !str.Contains("Right")))
if (MoveTimer.Enabled == false || DisplayType.Type != GraphType.Move)
{
MoveTimer.Enabled = false;
return;
@ -206,7 +205,7 @@ namespace VPet_Simulator.Core
if (DisplayType.Type != GraphType.Default)
{//不是nomal! 可能会卡timer,所有全部timer清空下
CleanState();
if (DisplayStopMove(DisplayToNomal))
if (DisplayStop(DisplayToNomal))
return;
}
Task.Run(() =>

View File

@ -55,9 +55,9 @@ namespace VPet_Simulator.Core
/// <summary>
/// 显示结束动画
/// </summary>
/// <param name="EndAction">结束后接下来</param>
/// <param name="EndAction">结束后接下来,不结束不运行</param>
/// <returns>是否成功结束</returns>
public bool DisplayStopMove(Action EndAction)
public bool DisplayStop(Action EndAction)
{
var graph = Core.Graph.FindGraph(DisplayType.Name, AnimatType.C_End, Core.Save.Mode);
if (graph != null)
@ -115,6 +115,15 @@ namespace VPet_Simulator.Core
return false;
}
/// <summary>
/// 显示结束动画 无论是否结束,都强制结束
/// </summary>
/// <param name="EndAction">结束后接下来,不结束也运行</param>
public void DisplayStopForce(Action EndAction)
{
if(!DisplayStop(EndAction))
EndAction?.Invoke();
}
/// <summary>
/// 尝试触发移动
/// </summary>
/// <returns></returns>
@ -124,7 +133,7 @@ namespace VPet_Simulator.Core
for (int i = Function.Rnd.Next(list.Count); 0 != list.Count; i = Function.Rnd.Next(list.Count))
{
var move = list[i];
if (move.Triggered(Core.Controller))
if (move.Triggered(this))
{
move.Display(this);
return true;

View File

@ -281,7 +281,7 @@ namespace VPet_Simulator.Core
/// <summary>
/// 每隔指定时间自动触发计算 可以关闭EventTimer后手动计算
/// </summary>
public void EventTimer_Elapsed(object sender, ElapsedEventArgs e)
public void EventTimer_Elapsed()
{
//所有Handle
TimeHandle?.Invoke(this);
@ -306,27 +306,24 @@ namespace VPet_Simulator.Core
case 0:
case 1:
case 2:
case 3:
//显示移动
DisplayMove();
break;
case 3:
case 4:
case 5:
case 6:
case 7:
//显示待机
DisplayIdel();
break;
case 8:
case 9:
case 6:
DisplayIdel_StateONE();
break;
case 10:
case 11:
case 12:
case 13:
//case 14:
//case 15:
case 7:
DisplaySleep();
break;
case 8:
case 9:
case 10:
//给其他显示留个机会
var list = RandomInteractionAction.ToList();
for (int i = Function.Rnd.Next(list.Count); 0 != list.Count; i = Function.Rnd.Next(list.Count))
@ -341,10 +338,7 @@ namespace VPet_Simulator.Core
list.RemoveAt(i);
}
}
break;
case 16:
DisplaySleep();
break;
break;
}
}

View File

@ -304,7 +304,11 @@ namespace VPet_Simulator.Core
Left,
Right = 2,
Top = 4,
Bottom = 8
Bottom = 8,
LeftGreater = 16,
RightGreater = 32,
TopGreater = 64,
BottomGreater = 128,
}
/// <summary>
/// 定位类型: 需要固定到屏幕边缘启用这个
@ -327,6 +331,57 @@ namespace VPet_Simulator.Core
get => (DirectionType)checkType;
set => checkType = (int)value;
}
[Line(ignoreCase: true)]
private int modeType { get; set; } = 30;
/// <summary>
/// 支持的动画模式
/// </summary>
public ModeType Mode
{
get => (ModeType)modeType;
set => checkType = (int)value;
}
/// <summary>
/// 宠物状态模式 (Flag版)
/// </summary>
[Flags]
public enum ModeType
{
/// <summary>
/// 高兴
/// </summary>
Happy = 2,
/// <summary>
/// 普通
/// </summary>
Nomal = 4,
/// <summary>
/// 状态不佳
/// </summary>
PoorCondition = 8,
/// <summary>
/// 生病(躺床)
/// </summary>
Ill = 16,
}
public static ModeType GetModeType(GameSave.ModeType type)
{
switch (type)
{
case GameSave.ModeType.Happy:
return ModeType.Happy;
case GameSave.ModeType.Nomal:
return ModeType.Nomal;
case GameSave.ModeType.PoorCondition:
return ModeType.PoorCondition;
case GameSave.ModeType.Ill:
return ModeType.Ill;
default:
return ModeType.Nomal;
}
}
/// <summary>
/// 检查距离左边
/// </summary>
@ -390,16 +445,26 @@ namespace VPet_Simulator.Core
/// <summary>
/// 是否可以触发
/// </summary>
public bool Triggered(IController c)
public bool Triggered(Main m)
{
var c = m.Core.Controller;
if (!Mode.HasFlag(GetModeType(m.Core.Save.Mode))) return false;
if (TriggerType == DirectionType.None) return true;
if (TriggerType.HasFlag(DirectionType.Left) && c.GetWindowsDistanceLeft() < TriggerLeft * c.ZoomRatio)
if (TriggerType.HasFlag(DirectionType.Left) && c.GetWindowsDistanceLeft() > TriggerLeft * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.Right) && c.GetWindowsDistanceRight() < TriggerRight * c.ZoomRatio)
if (TriggerType.HasFlag(DirectionType.Right) && c.GetWindowsDistanceRight() > TriggerRight * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.Top) && c.GetWindowsDistanceUp() < TriggerTop * c.ZoomRatio)
if (TriggerType.HasFlag(DirectionType.Top) && c.GetWindowsDistanceUp() > TriggerTop * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.Bottom) && c.GetWindowsDistanceDown() < TriggerBottom * c.ZoomRatio)
if (TriggerType.HasFlag(DirectionType.Bottom) && c.GetWindowsDistanceDown() > TriggerBottom * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.LeftGreater) && c.GetWindowsDistanceLeft() < TriggerLeft * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.RightGreater) && c.GetWindowsDistanceRight() < TriggerRight * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.TopGreater) && c.GetWindowsDistanceUp() < TriggerTop * c.ZoomRatio)
return false;
if (TriggerType.HasFlag(DirectionType.BottomGreater) && c.GetWindowsDistanceDown() < TriggerBottom * c.ZoomRatio)
return false;
return true;
}
@ -410,13 +475,21 @@ namespace VPet_Simulator.Core
public bool Checked(IController c)
{
if (CheckType == DirectionType.None) return true;
if (CheckType.HasFlag(DirectionType.Left) && c.GetWindowsDistanceLeft() < CheckLeft * c.ZoomRatio)
if (CheckType.HasFlag(DirectionType.Left) && c.GetWindowsDistanceLeft() > CheckLeft * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.Right) && c.GetWindowsDistanceRight() < CheckRight * c.ZoomRatio)
if (CheckType.HasFlag(DirectionType.Right) && c.GetWindowsDistanceRight() > CheckRight * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.Top) && c.GetWindowsDistanceUp() < CheckTop * c.ZoomRatio)
if (CheckType.HasFlag(DirectionType.Top) && c.GetWindowsDistanceUp() > CheckTop * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.Bottom) && c.GetWindowsDistanceDown() < CheckBottom * c.ZoomRatio)
if (CheckType.HasFlag(DirectionType.Bottom) && c.GetWindowsDistanceDown() > CheckBottom * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.LeftGreater) && c.GetWindowsDistanceLeft() < CheckLeft * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.RightGreater) && c.GetWindowsDistanceRight() < CheckRight * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.TopGreater) && c.GetWindowsDistanceUp() < CheckTop * c.ZoomRatio)
return false;
if (CheckType.HasFlag(DirectionType.BottomGreater) && c.GetWindowsDistanceDown() < CheckBottom * c.ZoomRatio)
return false;
return true;
}
@ -432,23 +505,23 @@ namespace VPet_Simulator.Core
bool y = SpeedY > 0;
foreach (Move m in main.Core.Graph.GraphConfig.Moves)
{
if (m == this) continue;
//if (m == this) continue;
int bns = 0;
if (SpeedX != 0 && m.SpeedX != 0)
{
if ((m.SpeedX > 0) == x)
if ((m.SpeedX > 0) != x)
bns--;
else
bns++;
}
if (SpeedY != 0 && m.SpeedY != 0)
{
if ((m.SpeedY > 0) == y)
if ((m.SpeedY > 0) != y)
bns--;
else
bns++;
}
if (bns >= 0 && m.Triggered(main.Core.Controller))
if (bns >= 0 && m.Triggered(main))
{
ms.Add(m);
}
@ -495,7 +568,7 @@ namespace VPet_Simulator.Core
public void Displaying(Main m)
{
//看看距离是不是不足
if (Checked(m.Core.Controller))
if (!Checked(m.Core.Controller))
{//是,停下恢复默认 or/爬墙
if (Function.Rnd.Next(Main.TreeRND) <= 1)
{
@ -514,6 +587,7 @@ namespace VPet_Simulator.Core
if (Function.Rnd.Next(walklength++) < Distance)
{
m.Display(Graph, AnimatType.B_Loop, () => Displaying(m));
return;
}
else if (Function.Rnd.Next(Main.TreeRND) <= 1)
{//停下来

View File

@ -253,7 +253,6 @@ namespace VPet_Simulator.Core
Health += food.Health;
Likability += food.Likability;
}
/// <summary>
/// 宠物状态模式
/// </summary>

View File

@ -187,7 +187,7 @@ namespace VPet_Simulator.Windows
txt = txt.FindAll(x => x.Strength == LowText.StrengthType.S);
Main.Say(txt[Function.Rnd.Next(txt.Count)].TranslateText);
}
Task.Run(() => Main.Display(GraphType.Switch_Hunger, AnimatType.Single, Main.DisplayToNomal));
Main.DisplayStopForce(() => Main.Display(GraphType.Switch_Hunger, AnimatType.Single, Main.DisplayToNomal));
return;
}
if (Core.Save.StrengthDrink < 75 && Function.Rnd.Next(lowstrengthAskCountDrink--) == 0)
@ -210,7 +210,7 @@ namespace VPet_Simulator.Windows
txt = txt.FindAll(x => x.Strength == LowText.StrengthType.S);
Main.Say(txt[Function.Rnd.Next(txt.Count)].TranslateText);
}
Task.Run(() => Main.Display(GraphType.Switch_Thirsty, AnimatType.Single, Main.DisplayToNomal));
Main.DisplayStopForce(() => Main.Display(GraphType.Switch_Thirsty, AnimatType.Single, Main.DisplayToNomal));
return;
}
}
@ -236,7 +236,7 @@ namespace VPet_Simulator.Windows
txt = txt.FindAll(x => x.Strength == LowText.StrengthType.S);
Main.Say(txt[Function.Rnd.Next(txt.Count)].TranslateText);
}
Task.Run(() => Main.Display(GraphType.Switch_Hunger, AnimatType.Single, Main.DisplayToNomal));
Main.DisplayStopForce(() => Main.Display(GraphType.Switch_Hunger, AnimatType.Single, Main.DisplayToNomal));
return;
}
if (Core.Save.StrengthDrink < 60 && Function.Rnd.Next(lowstrengthAskCountDrink--) == 0)
@ -259,12 +259,46 @@ namespace VPet_Simulator.Windows
txt = txt.FindAll(x => x.Strength == LowText.StrengthType.S);
Main.Say(txt[Function.Rnd.Next(txt.Count)].TranslateText);
}
Task.Run(() => Main.Display(GraphType.Switch_Thirsty, AnimatType.Single, Main.DisplayToNomal));
Main.DisplayStopForce(() => Main.Display(GraphType.Switch_Thirsty, AnimatType.Single, Main.DisplayToNomal));
return;
}
}
}
public void RunAction(string action)
{
switch (action)
{
case "DisplayNomal":
Main.DisplayNomal();
break;
case "DisplayToNomal":
Main.DisplayToNomal();
break;
case "DisplayTouchHead":
Main.DisplayTouchHead();
break;
case "DisplayTouchBody":
Main.DisplayTouchBody();
break;
case "DisplayIdel":
Main.DisplayIdel();
break;
case "DisplayIdel_StateONE":
Main.DisplayIdel_StateONE();
break;
case "DisplaySleep":
Main.DisplaySleep();
break;
case "DisplayRaised":
Main.DisplayRaised();
break;
case "DisplayMove":
Main.DisplayMove();
break;
}
}
}
}

View File

@ -61,26 +61,12 @@
<ListBoxItem Content="DisplayNomal" />
<ListBoxItem Content="DisplayTouchHead" />
<ListBoxItem Content="DisplayTouchBody" />
<ListBoxItem Content="DisplayBoring" />
<ListBoxItem Content="DisplaySquat" />
<ListBoxItem Content="DisplayIdel" />
<ListBoxItem Content="DisplayIdel_StateONE" />
<ListBoxItem Content="DisplaySleep" />
<ListBoxItem Content="DisplayRaised" />
<ListBoxItem Content="DisplayFalled_Left" />
<ListBoxItem Content="DisplayFalled_Right" />
<ListBoxItem Content="DisplayWalk_Left" />
<ListBoxItem Content="DisplayWalk_Right" />
<ListBoxItem Content="DisplayCrawl_Left" />
<ListBoxItem Content="DisplayCrawl_Right" />
<ListBoxItem Content="DisplayClimb_Left_UP" />
<ListBoxItem Content="DisplayClimb_Left_DOWN" />
<ListBoxItem Content="DisplayClimb_Right_UP" />
<ListBoxItem Content="DisplayClimb_Right_DOWN" />
<ListBoxItem Content="DisplayClimb_Top_Right" />
<ListBoxItem Content="DisplayClimb_Top_Left" />
<ListBoxItem Content="DisplayFall_Left" />
<ListBoxItem Content="DisplayFall_Right" />
<ListBoxItem Content="DisplayIdel_StateONE" />
<ListBoxItem Content="DisplayIdel_StateTWO" />
<ListBoxItem Content="DisplayMove" />
<ListBoxItem Content="DisplayToNomal" />
</ListBox>
</Grid>
</TabItem>

View File

@ -75,7 +75,7 @@ namespace VPet_Simulator.Windows
if (DisplayListBox.SelectedItem == null)
return;
LabelSuccess.Content = "当前正在运行".Translate() + ": " + (string)((ListBoxItem)DisplayListBox.SelectedItem).Content;
// mw.RunAction((string)((ListBoxItem)DisplayListBox.SelectedItem).Content);
mw.RunAction((string)((ListBoxItem)DisplayListBox.SelectedItem).Content);
}
private void Say_Click(object sender, RoutedEventArgs e)

View File

@ -928,7 +928,7 @@ namespace VPet_Simulator.Windows
return;
mw.Set.CalFunState = (GameSave.ModeType)combCalFunState.SelectedIndex;
mw.Main.NoFunctionMOD = (GameSave.ModeType)combCalFunState.SelectedIndex;
mw.Main.EventTimer_Elapsed(null, null);
mw.Main.EventTimer_Elapsed();
}
private void HitThroughBox_Checked(object sender, RoutedEventArgs e)

View File

@ -2,11 +2,20 @@ pet#默认虚拟桌宠:|intor#虚拟主播模拟器默认人物形象:|path#vup:
touchhead:|px#159:|py#16:|sw#189:|sh#178:|
touchraised:|happy_px#0:|happy_py#50:|happy_sw#500:|happy_sh#200:|nomal_px#0:|nomal_py#50:|nomal_sw#500:|nomal_sh#200:|poorcondition_px#0:|poorcondition_py#50:|poorcondition_sw#500:|poorcondition_sh#200:|ill_px#0:|ill_py#200:|ill_sw#500:|ill_sh#300:|
raisepoint:|happy_x#290:|happy_y#128:|nomal_x#290:|nomal_y#128:|poorcondition_x#290:|poorcondition_y#128:|ill_x#225:|ill_y#115:|
speed:|walk#20:|climb#10:|climbtop#8:|crawl#8:|fallx#14:|fally#10:|crawl#10:|
locate:|climbleft#145:|climbright#185:|climbtop#150:|
storernd:|Touch_Body_A_Start:|Touch_Body_B_Loop:|Touch_Body_C_End:|
str:|work1#文案:|work2#直播:|
worktimer:|work1#10:|work2#10:|
UIStyleConfig#work1:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
UIStyleConfig#work2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
UIStyleConfig#study:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
work:|Type#Work:|Name#文案:|MoneyBase#8:|MoneyLevel#0.5:|Graph#workone:|StrengthFood#3.5:|StrengthDrink#2.5:|Feeling#1.5:|Time#60:|FinishBonus#0.1:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
work:|Type#Work:|Name#直播:|MoneyBase#16:|MoneyLevel#1:|Graph#worktwo:|StrengthFood#4.5:|StrengthDrink#7.5:|Feeling#2.5:|Time#180:|FinishBonus#0.25:|LevelLimit#10:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
work:|Type#Study:|Name#学习:|MoneyBase#16:|MoneyLevel#2:|Graph#study:|StrengthFood#1.5:|StrengthDrink#2:|Feeling#3:|Time#45:|FinishBonus#0.2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|
move:|graph#climb.left:|LocateType#Left:|LocateLength#145:|TriggerLeft#100:|TriggerTop#200:|TriggerType#65:|CheckType#64:|CheckTop#100:|SpeedY#-10:|Distance#7:|ModeType#14:|
move:|graph#climb.left:|LocateType#Left:|LocateLength#145:|TriggerLeft#100:|TriggerBottom#200:|TriggerType#129:|CheckType#128:|CheckBottom#100:|SpeedY#10:|Distance#7:|ModeType#14:|
move:|graph#climb.right:|LocateType#Right:|LocateLength#185:|TriggerRight#100:|TriggerTop#200:|TriggerType#66:|CheckType#64:|CheckTop#100:|SpeedY#-10:|Distance#7:|ModeType#14:|
move:|graph#climb.right:|LocateType#Right:|LocateLength#185:|TriggerRight#100:|TriggerBottom#200:|TriggerType#130:|CheckType#128:|CheckBottom#100:|SpeedY#10:|Distance#7:|ModeType#14:|
move:|graph#climb.top.left:|LocateType#Top:|LocateLength#150:|TriggerTop#100:|TriggerLeft#200:|TriggerType#20:|CheckType#16:|CheckLeft#100:|SpeedX#-8:|Distance#10:|ModeType#14:|
move:|graph#climb.top.right:|LocateType#Top:|LocateLength#150:|TriggerTop#100:|TriggerRight#200:|TriggerType#36:|CheckType#32:|CheckRight#100:|SpeedX#8:|Distance#10:|ModeType#14:|
move:|graph#fall.left:|TriggerBottom#200:|TriggerLeft#200:|TriggerType#144:|CheckType#144:|CheckBottom#100:|CheckLeft#100:|SpeedX#-14:|SpeedY#10:|Distance#7:|ModeType#14:|
move:|graph#fall.right:|TriggerBottom#200:|TriggerRight#200:|TriggerType#160:|CheckType#160:|CheckBottom#100:|CheckRight#100:|SpeedX#14:|SpeedY#10:|Distance#7:|ModeType#14:|
move:|graph#walk.left:|TriggerLeft#200:|TriggerType#16:|CheckLeft#100:|CheckType#16:|SpeedX#-14:|Distance#7:|ModeType#12:|
move:|graph#walk.right:|TriggerRight#200:|TriggerType#32:|CheckRight#100:|CheckType#32:|SpeedX#14:|Distance#7:|ModeType#12:|
move:|graph#walk.left.faster:|TriggerLeft#200:|TriggerType#16:|CheckLeft#100:|CheckType#16:|SpeedX#-20:|Distance#5:|ModeType#2:|
move:|graph#walk.right.faster:|TriggerRight#200:|TriggerType#32:|CheckRight#100:|CheckType#32:|SpeedX#20:|Distance#5:|ModeType#2:|
move:|graph#crawl.left:|TriggerLeft#200:|TriggerType#16:|CheckLeft#100:|CheckType#16:|SpeedX#-10:|Distance#8:|ModeType#14:|
move:|graph#crawl.right:|TriggerRight#200:|TriggerType#32:|CheckRight#100:|CheckType#32:|SpeedX#10:|Distance#8:|ModeType#14:|

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

View File

@ -4,6 +4,6 @@ PNGAnimation#drink_back_lay:|path#Nomal\back_lay:|mode#Nomal:|graph#Not_Able:|
PNGAnimation#drink_front_lay:|path#front_lay:|mode#Nomal:|graph#Not_Able:|
PNGAnimation#drink_back_lay:|path#PoorCondition\back_lay:|mode#PoorCondition:|graph#Not_Able:|
///PNGAnimation#drink_front_lay:|path#PoorCondition\front_lay:|mode#PoorCondition:|graph#Not_Able:|
FoodAnimation:|mode#Happy:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|
FoodAnimation:|mode#nomal:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|
FoodAnimation:|mode#PoorCondition:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|
FoodAnimation#drink:|mode#Happy:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|
FoodAnimation#drink:|mode#nomal:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|
FoodAnimation#drink:|mode#PoorCondition:|graph#drink:|a0#1000:|a1#125,268,286,77,60:|a2#125,167,164,78:|a3#125,198,160,78:|a4#125,199,163,78:|a5#125,199,160,78:|a6#125,199,163,78:|a7#125,199,160,78:|a8#125,169,164,78:|a9#125,268,286,77,60:|a10#625:|front_lay#drink_front_lay:|back_lay#drink_back_lay:|

View File

@ -1,3 +1,3 @@
PNGAnimation#eat_back_lay:|path#back_lay:|mode#ill:|graph#Not_Able:|
PNGAnimation#eat_front_lay:|path#front_lay:|mode#ill:|graph#Not_Able:|
FoodAnimation:|mode#ill:|graph#Eat:|a0#500:|a1#125,60,125,59:|a2#125,120,175,59:|a3#125,170,250,59:|a4#250,165,232,64:|a5#250,170,265,65:|a6#250,170,270,65:|a7#250,180,270,64:|a8#2000:|front_lay#eat_front_lay:|back_lay#eat_back_lay:|///Time,MarginX,Y,Width,Rotate,Opacity
FoodAnimation#eat:|mode#ill:|graph#Eat:|a0#500:|a1#125,60,125,59:|a2#125,120,175,59:|a3#125,170,250,59:|a4#250,165,232,64:|a5#250,170,265,65:|a6#250,170,270,65:|a7#250,180,270,64:|a8#2000:|front_lay#eat_front_lay:|back_lay#eat_back_lay:|///Time,MarginX,Y,Width,Rotate,Opacity

View File

@ -1,3 +1,3 @@
PNGAnimation#eat_back_lay:|path#back_lay:|mode#nomal:|graph#Not_Able:|
PNGAnimation#eat_front_lay:|path#front_lay:|mode#nomal:|graph#Not_Able:|
FoodAnimation:|mode#nomal:|graph#Eat:|a0#175,215,23,60,0,0.375:|a1#125,247,88,60,25,0.4375:|a2#125,233,83,60,-20:|a3#125,228,178,57,-5.5:|a4#750,224,196,65:|a5#125,222,163,65:|a6#375,224,194,65:|a7#125,222,158,65:|a8#750:|front_lay#eat_front_lay:|back_lay#eat_back_lay:|
FoodAnimation#eat:|mode#nomal:|graph#Eat:|a0#175,215,23,60,0,0.375:|a1#125,247,88,60,25,0.4375:|a2#125,233,83,60,-20:|a3#125,228,178,57,-5.5:|a4#750,224,196,65:|a5#125,222,163,65:|a6#375,224,194,65:|a7#125,222,158,65:|a8#750:|front_lay#eat_front_lay:|back_lay#eat_back_lay:|

View File

@ -1,3 +1,3 @@
PNGAnimation#eat_back_lay_2:|path#back_lay:|mode#nomal:|graph#Not_Able:|
PNGAnimation#eat_front_lay_2:|path#front_lay:|mode#nomal:|graph#Not_Able:|
FoodAnimation:|mode#nomal:|graph#Eat:|a0#175,205,23,60,0,0.375:|a1#125,220,88,60,25,0.4375:|a2#125,222,83,60,-20:|a3#125,216,178,57,-5.5:|a4#750,212,196,65:|a5#125,210,163,65:|a6#375,212,194,65:|a7#125,210,158,65:|a8#750:|front_lay#eat_front_lay_2:|back_lay#eat_back_lay_2:|
FoodAnimation#eat:|mode#nomal:|graph#Eat:|a0#175,205,23,60,0,0.375:|a1#125,220,88,60,25,0.4375:|a2#125,222,83,60,-20:|a3#125,216,178,57,-5.5:|a4#750,212,196,65:|a5#125,210,163,65:|a6#375,212,194,65:|a7#125,210,158,65:|a8#750:|front_lay#eat_front_lay_2:|back_lay#eat_back_lay_2:|

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