From d76c9cff59d3c8a65968058df992c39c2cdb44ad Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 24 Apr 2022 08:34:09 +0800 Subject: + several equips --- .../Scripts/Managers/PlayerManager_Equips.cs | 40 +++++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) (limited to 'SurvivalTest/Assets/Scripts/Managers') diff --git a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs index 05ca6df..73f86ff 100644 --- a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs +++ b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs @@ -13,7 +13,7 @@ public partial class PlayerManager : Singleton public bool isFire { get; private set; } private bool m_AutoFire; - private float m_AutoFireDuration = 1f; + private float m_AutoFireDuration = 0.8f; private float m_LastAxisValue = 0; @@ -21,6 +21,10 @@ public partial class PlayerManager : Singleton { m_Equips.Add(new Equip_Gun()); m_Equips.Add(new Equip_GrenadeLauncher()); + m_Equips.Add(new Equip_Boomerang()); + m_Equips.Add(new Equip_TeslaCoil()); + m_Equips.Add(new Equip_MightyGlove()); + m_Equips.Add(new Equip_MysteryMask()); m_AutoFire = false; @@ -51,29 +55,47 @@ public partial class PlayerManager : Singleton { m_AutoFire = false; } - if(TinyCountDown.Instance.Get("ReleaseFire") > 0) + + isFire = true; + RunFireCoroutine(true); + } + + if (!m_AutoFire && !Input.GetButton("Fire1") && (axis == 0 && m_LastAxisValue != 0)) + { + if (TinyCountDown.Instance.Get("ReleaseFire") > 0) { m_AutoFire = true; + isFire = true; + RunFireCoroutine(true); } - isFire = true; + else + { + TinyCountDown.Instance.Set("ReleaseFire", m_AutoFireDuration); + isFire = false; + RunFireCoroutine(false); + } + } + + m_LastAxisValue = axis; + } + + void RunFireCoroutine(bool start) + { + if (start) + { if (m_CoFire == null) { m_CoFire = GameApp.Instance.StartCoroutine(coFire()); } } - - if (!m_AutoFire && !Input.GetButton("Fire1") && (axis == 0 && m_LastAxisValue != 0)) + else { - TinyCountDown.Instance.Set("ReleaseFire", m_AutoFireDuration); - isFire = false; if (m_CoFire != null) { GameApp.Instance.StopCoroutine(m_CoFire); m_CoFire = null; } } - - m_LastAxisValue = axis; } /// -- cgit v1.1-26-g67d0