diff options
author | chai <chaifix@163.com> | 2022-04-24 08:34:09 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-24 08:34:09 +0800 |
commit | d76c9cff59d3c8a65968058df992c39c2cdb44ad (patch) | |
tree | 0fcd78527e8b0644be53538a639bba96674b3769 /SurvivalTest/Assets/Scripts | |
parent | c53a09367b8eb79610c0ff9bd25fe2a171183514 (diff) |
+ several equips
Diffstat (limited to 'SurvivalTest/Assets/Scripts')
8 files changed, 80 insertions, 18 deletions
diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_Boomerang.cs b/SurvivalTest/Assets/Scripts/Equips/Equip_Boomerang.cs index c00ebc4..7ee6a3b 100644 --- a/SurvivalTest/Assets/Scripts/Equips/Equip_Boomerang.cs +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_Boomerang.cs @@ -9,9 +9,9 @@ public class Equip_Boomerang : EquipBase { public override AutoMode autoMode => AutoMode.Condition; - public override string name => ""; + public override string name => "回旋镖"; - public override string iconPath => ""; + public override string iconPath => "art/ui/equipicon/boomerang"; /// <summary> /// 接到回旋镖后重新掷出,否则间隔一段时间投掷 diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_MightyGlove.cs b/SurvivalTest/Assets/Scripts/Equips/Equip_MightyGlove.cs index d5e4189..6a05b18 100644 --- a/SurvivalTest/Assets/Scripts/Equips/Equip_MightyGlove.cs +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_MightyGlove.cs @@ -8,12 +8,14 @@ using UnityEngine; public class Equip_MightyGlove : EquipBase { - public override string name => ""; + public override string name => "超凡手套"; - public override string iconPath => ""; + public override string iconPath => "art/ui/equipicon/glove"; public override AutoMode autoMode => AutoMode.Interval; + public override float interval => 100f; + public override void OnTrigger(GameObject owner) { } diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs b/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs new file mode 100644 index 0000000..8ec7ccc --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Equip_MysteryMask : EquipBase +{ + public override string name => "神秘面具"; + + public override string iconPath => "art/ui/equipicon/mystery_mask"; + + public override AutoMode autoMode => AutoMode.Interval; + + public override float interval => 100f; + + public override void OnTrigger(GameObject owner) + { + } +}
\ No newline at end of file diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs.meta b/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs.meta new file mode 100644 index 0000000..6b15151 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 495a4dbf2afa5154f923113b471b18d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Equips/Equip_TeslaCoil.cs b/SurvivalTest/Assets/Scripts/Equips/Equip_TeslaCoil.cs index c0bdfc6..af523cd 100644 --- a/SurvivalTest/Assets/Scripts/Equips/Equip_TeslaCoil.cs +++ b/SurvivalTest/Assets/Scripts/Equips/Equip_TeslaCoil.cs @@ -8,17 +8,16 @@ using UnityEngine; public class Equip_TeslaCoil : EquipBase { - public override string name => ""; + public override string name => "特斯拉线圈"; - public override string iconPath => ""; + public override string iconPath => "art/ui/equipicon/tesla_coil"; public override AutoMode autoMode => AutoMode.Interval; - public override float interval => 1f; + public override float interval => 20f; public override void OnTrigger(GameObject owner) { - throw new System.NotImplementedException(); } } 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> diff --git a/SurvivalTest/Assets/Scripts/Resources/ResourceManager.cs b/SurvivalTest/Assets/Scripts/Resources/ResourceManager.cs index 193d8b3..b01852a 100644 --- a/SurvivalTest/Assets/Scripts/Resources/ResourceManager.cs +++ b/SurvivalTest/Assets/Scripts/Resources/ResourceManager.cs @@ -4,9 +4,17 @@ using UnityEngine; public class ResourceManager : Singleton<ResourceManager> { + private Dictionary<string, UnityEngine.Object> m_LoadedObjects = new Dictionary<string, Object>(); + public T Load<T>(string path) where T : UnityEngine.Object { - return Resources.Load<T>(path); + if(m_LoadedObjects.ContainsKey(path)) + { + return m_LoadedObjects[path] as T; + } + T obj = Resources.Load<T>(path); + m_LoadedObjects.Add(path, obj); + return obj; } } diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelEquipBar/UIEquipWidget.cs b/SurvivalTest/Assets/Scripts/UI/Panel/PanelEquipBar/UIEquipWidget.cs index 14c8717..9099f18 100644 --- a/SurvivalTest/Assets/Scripts/UI/Panel/PanelEquipBar/UIEquipWidget.cs +++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelEquipBar/UIEquipWidget.cs @@ -22,6 +22,8 @@ public class UIEquipWidget : UIGridItemBase m_Equip = info.equip; Image_Icon.sprite = ResourceManager.Instance.Load<Sprite>(info.equip.iconPath); + + Image_CD.gameObject.SetActive(equip.autoMode == EquipBase.AutoMode.Interval); } private void Update() |