summaryrefslogtreecommitdiff
path: root/SurvivalTest/Assets/Scripts
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-24 08:34:09 +0800
committerchai <chaifix@163.com>2022-04-24 08:34:09 +0800
commitd76c9cff59d3c8a65968058df992c39c2cdb44ad (patch)
tree0fcd78527e8b0644be53538a639bba96674b3769 /SurvivalTest/Assets/Scripts
parentc53a09367b8eb79610c0ff9bd25fe2a171183514 (diff)
+ several equips
Diffstat (limited to 'SurvivalTest/Assets/Scripts')
-rw-r--r--SurvivalTest/Assets/Scripts/Equips/Equip_Boomerang.cs4
-rw-r--r--SurvivalTest/Assets/Scripts/Equips/Equip_MightyGlove.cs6
-rw-r--r--SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs18
-rw-r--r--SurvivalTest/Assets/Scripts/Equips/Equip_MysteryMask.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Equips/Equip_TeslaCoil.cs7
-rw-r--r--SurvivalTest/Assets/Scripts/Managers/PlayerManager_Equips.cs40
-rw-r--r--SurvivalTest/Assets/Scripts/Resources/ResourceManager.cs10
-rw-r--r--SurvivalTest/Assets/Scripts/UI/Panel/PanelEquipBar/UIEquipWidget.cs2
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()