From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Monster_broo_black_teleport_back.cs | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Monster_broo_black_teleport_back.cs (limited to 'Client/Assets/Scripts/XMainClient/Monster_broo_black_teleport_back.cs') diff --git a/Client/Assets/Scripts/XMainClient/Monster_broo_black_teleport_back.cs b/Client/Assets/Scripts/XMainClient/Monster_broo_black_teleport_back.cs new file mode 100644 index 00000000..75f38d70 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Monster_broo_black_teleport_back.cs @@ -0,0 +1,63 @@ +using System; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class Monster_broo_black_teleport_back + { + private static uint _token = 0u; + + private static bool _veiled = false; + + private static float _startVeil = 0.267f; + + private static float _fadeOutTime = 0.1f; + + private static float _veilDuration = 0.3f; + + private static float _fadeInTime = 0.2f; + + public static bool Disappear(XSkill skill) + { + bool casting = skill.Casting; + if (casting) + { + bool flag = !Monster_broo_black_teleport_back._veiled; + if (flag) + { + Monster_broo_black_teleport_back._veiled = true; + Monster_broo_black_teleport_back._token = XSingleton.singleton.SetTimer(Monster_broo_black_teleport_back._startVeil, new XTimerMgr.ElapsedEventHandler(Monster_broo_black_teleport_back.Veil), skill.Firer); + } + } + else + { + XSingleton.singleton.KillTimer(Monster_broo_black_teleport_back._token); + Monster_broo_black_teleport_back.Unveil(skill.Firer); + Monster_broo_black_teleport_back._veiled = false; + } + return true; + } + + private static void Veil(object o) + { + XFadeOutEventArgs @event = XEventPool.GetEvent(); + @event.Out = Monster_broo_black_teleport_back._fadeOutTime; + @event.Firer = (o as XEntity); + XSingleton.singleton.FireEvent(@event); + Monster_broo_black_teleport_back._token = XSingleton.singleton.SetTimer(Monster_broo_black_teleport_back._veilDuration, new XTimerMgr.ElapsedEventHandler(Monster_broo_black_teleport_back.Unveil), o); + } + + private static void Unveil(object o) + { + bool flag = Monster_broo_black_teleport_back._token > 0u; + if (flag) + { + Monster_broo_black_teleport_back._token = 0u; + XFadeInEventArgs @event = XEventPool.GetEvent(); + @event.In = Monster_broo_black_teleport_back._fadeInTime; + @event.Firer = (o as XEntity); + XSingleton.singleton.FireEvent(@event); + } + } + } +} -- cgit v1.1-26-g67d0