diff options
Diffstat (limited to 'SurvivalTest/Assets/Scripts')
23 files changed, 279 insertions, 10 deletions
diff --git a/SurvivalTest/Assets/Scripts/Devices/DeviceBase.cs b/SurvivalTest/Assets/Scripts/Devices/DeviceBase.cs index 61e347f..e4150b9 100644 --- a/SurvivalTest/Assets/Scripts/Devices/DeviceBase.cs +++ b/SurvivalTest/Assets/Scripts/Devices/DeviceBase.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using UnityEngine; /// <summary> -/// 设备 +/// 可放置设备 /// </summary> public class DeviceBase : MonoBehaviour { diff --git a/SurvivalTest/Assets/Scripts/Items/ExecutorParts.meta b/SurvivalTest/Assets/Scripts/Items/ExecutorParts.meta new file mode 100644 index 0000000..0763300 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/ExecutorParts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6c76830245bc1746a35c236a3402063 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs new file mode 100644 index 0000000..45450c1 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 执行者的头 +/// </summary> +public class Item_ExecutorHead : Item_ExecutorPart +{ + public override string name => "执行者的头颅"; + + public override string iconPath => "art/ui/item/executor_head"; + +} diff --git a/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs.meta b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs.meta new file mode 100644 index 0000000..ff04c45 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorHead.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bbe96ae8793593c4997e1263d1ed7576 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs new file mode 100644 index 0000000..43af6f9 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 执行者的部件,集齐之后召唤执行者机器人 +/// 执行者机器人的攻击通过眼发射高能射线,高速扫射敌人 +/// 执行者笔挺的飘在空中,类似管家的姿势,一只手背在身后,眼里发射射线 +/// </summary> +public class Item_ExecutorPart : ItemBase +{ + + +}
\ No newline at end of file diff --git a/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs.meta b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs.meta new file mode 100644 index 0000000..f928fe5 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/ExecutorParts/Item_ExecutorPart.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7ce82deacc2452a439329f8d8238f689 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs b/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs new file mode 100644 index 0000000..52b9685 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Item_Wrench : ItemBase +{ + public override string name => "扳手"; + + public override string iconPath => "art/ui/item/wrench"; + +} diff --git a/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs.meta b/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs.meta new file mode 100644 index 0000000..e5050c2 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Items/Item_Wrench.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6a46010aa71259942874b5a68178b1e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs index 6ee4969..581cfdd 100644 --- a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs +++ b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs @@ -17,6 +17,8 @@ public partial class PlayerManager : Singleton<PlayerManager> m_Items.Add(new Item_Horn()); m_Items.Add(new Item_Battery()); m_Items.Add(new Item_SwordSpectrum()); + m_Items.Add(new Item_Wrench()); + m_Items.Add(new Item_ExecutorHead()); } void UpdateItems() diff --git a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Weapons.cs b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Weapons.cs index 9a0f9db..16f9396 100644 --- a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Weapons.cs +++ b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Weapons.cs @@ -12,9 +12,20 @@ public partial class PlayerManager : Singleton<PlayerManager> public bool isFire { get; private set; } - public bool autoFire {get{return m_AutoFire;}} private bool m_AutoFire; - private float m_AutoFireDuration = 0.8f; + public bool autoFire + { + get + { + return m_AutoFire; + } + set + { + m_AutoFire = value; + EventCenter.Instance.Publish(EventMsgType.ToggleAutoFire, null); + } + } + private float autoFireDuration = 0.8f; public bool lockAim { get; set; } @@ -29,7 +40,7 @@ public partial class PlayerManager : Singleton<PlayerManager> m_Weapons.Add(new Weapon_TeslaCoil()); m_Weapons.Add(new Weapon_MightyGlove()); - m_AutoFire = false; + autoFire = false; m_LastAxisValue = Input.GetAxisRaw("GunTrigger"); } @@ -54,26 +65,26 @@ public partial class PlayerManager : Singleton<PlayerManager> if (Input.GetButtonDown("Fire1") || (axis == 1 && m_LastAxisValue != 1)) { - if(m_AutoFire) + if(autoFire) { - m_AutoFire = false; + autoFire = false; } isFire = true; RunFireCoroutine(true); } - if (!m_AutoFire && !Input.GetButton("Fire1") && (axis == 0 && m_LastAxisValue != 0)) + if (!autoFire && !Input.GetButton("Fire1") && (axis == 0 && m_LastAxisValue != 0)) { if (TinyCountDown.Instance.Get("ReleaseFire") > 0) { - m_AutoFire = true; + autoFire = true; isFire = true; RunFireCoroutine(true); } else { - TinyCountDown.Instance.Set("ReleaseFire", m_AutoFireDuration); + TinyCountDown.Instance.Set("ReleaseFire", autoFireDuration); isFire = false; RunFireCoroutine(false); } diff --git a/SurvivalTest/Assets/Scripts/Test/TestPeaceMaker.cs b/SurvivalTest/Assets/Scripts/Test/TestPeaceMaker.cs index 3662daf..b05fdab 100644 --- a/SurvivalTest/Assets/Scripts/Test/TestPeaceMaker.cs +++ b/SurvivalTest/Assets/Scripts/Test/TestPeaceMaker.cs @@ -86,6 +86,7 @@ public class TestPeaceMaker : CrewScript set { PlayerManager.Instance.lockAim = value; + EventCenter.Instance.Publish(EventMsgType.ToggleLockAim, null); } } diff --git a/SurvivalTest/Assets/Scripts/Titles.meta b/SurvivalTest/Assets/Scripts/Titles.meta new file mode 100644 index 0000000..08a5177 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d56e7d2cb39441409931bba5a1adcd4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs b/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs new file mode 100644 index 0000000..138e945 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +/// <summary> +/// 称号 +/// </summary> +public class TitleBase +{ + +} diff --git a/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs.meta b/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs.meta new file mode 100644 index 0000000..d63cfc3 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/TitleBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c322a59acdb13f94e8c6723fe810b6b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs b/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs new file mode 100644 index 0000000..9043684 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 机械专家 +/// </summary> +public class Title_MachineExpert : TitleBase +{ + +}
\ No newline at end of file diff --git a/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs.meta b/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs.meta new file mode 100644 index 0000000..14572b5 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/Title_MachineExpert.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04cbd0ce5b1783349bbb4aa079d7ab2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs b/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs new file mode 100644 index 0000000..e13a484 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// <summary> +/// 剑术大师(剑圣) +/// </summary> +public class Title_SwordMaster : TitleBase +{ + + + +}
\ No newline at end of file diff --git a/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs.meta b/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs.meta new file mode 100644 index 0000000..5078ca4 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Titles/Title_SwordMaster.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 088efd501bf4839468e9097d3a338f27 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelTopStuffBar/UIStateSection.cs b/SurvivalTest/Assets/Scripts/UI/Panel/PanelTopStuffBar/UIStateSection.cs index 991ec3a..ab192e7 100644 --- a/SurvivalTest/Assets/Scripts/UI/Panel/PanelTopStuffBar/UIStateSection.cs +++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelTopStuffBar/UIStateSection.cs @@ -7,9 +7,25 @@ public class UIStateSection : MonoBehaviour public GameObject m_AutoFire; public GameObject m_LockAim; - private void Update() + private void Start() + { + EventCenter.Instance.Register(EventMsgType.ToggleAutoFire, OnToggleAutoFire); + EventCenter.Instance.Register(EventMsgType.ToggleLockAim, OnToggleLockAim); + } + + private void OnDestroy() + { + EventCenter.Instance.UnRegister(EventMsgType.ToggleAutoFire, OnToggleAutoFire); + EventCenter.Instance.UnRegister(EventMsgType.ToggleLockAim, OnToggleLockAim); + } + + void OnToggleAutoFire(params object[] objs) { m_AutoFire.SetActive(PlayerManager.Instance.autoFire); + } + + void OnToggleLockAim(params object[] objs) + { m_LockAim.SetActive(PlayerManager.Instance.lockAim); } diff --git a/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs b/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs new file mode 100644 index 0000000..eef3646 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs @@ -0,0 +1,48 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EventCenter : Singleton<EventCenter> +{ + public delegate void EventHandler(params object [] param); + + private Dictionary<EventMsgType, List<EventHandler>> m_EventHandlers = new Dictionary<EventMsgType, List<EventHandler>>(); + + public void Register(EventMsgType evt, EventHandler handler) + { + List<EventHandler> handlers; + if (!m_EventHandlers.TryGetValue(evt, out handlers)) + { + handlers = new List<EventHandler>(); + m_EventHandlers.Add(evt, handlers); + } + if (!handlers.Contains(handler)) + { + handlers.Add(handler); + } + else + { + Debug.LogError("Event has already registed, eventType=" + evt); + } + } + + public void UnRegister(EventMsgType evt, EventHandler handler) + { + List<EventHandler> handlers; + if (m_EventHandlers.TryGetValue(evt, out handlers)) + { + if(handlers.Contains(handler)) + handlers.Remove(handler); + } + } + + public void Publish(EventMsgType evt, params object[] objs) + { + List<EventHandler> handlers; + if (m_EventHandlers.TryGetValue(evt, out handlers)) + { + handlers.ForEach(h => h(objs)); + } + } + +}
\ No newline at end of file diff --git a/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs.meta b/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs.meta new file mode 100644 index 0000000..f87c419 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Utils/EventCenter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 224d79fa30383194d86f18f391400340 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SurvivalTest/Assets/Scripts/Utils/EventType.cs b/SurvivalTest/Assets/Scripts/Utils/EventType.cs new file mode 100644 index 0000000..92bc690 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Utils/EventType.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public enum EventMsgType +{ + + // UI + ToggleAutoFire, // 自动开火 + ToggleLockAim, // 锁定方向 +} + diff --git a/SurvivalTest/Assets/Scripts/Utils/EventType.cs.meta b/SurvivalTest/Assets/Scripts/Utils/EventType.cs.meta new file mode 100644 index 0000000..90ea046 --- /dev/null +++ b/SurvivalTest/Assets/Scripts/Utils/EventType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2cca452167d1ce34cb98da00cae563b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |