diff options
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Managers')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs | 40 |
1 files changed, 31 insertions, 9 deletions
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<PlayerManager> 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<PlayerManager> { 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<PlayerManager> { 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; } /// <summary> |