summaryrefslogtreecommitdiff
path: root/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-23 13:24:05 +0800
committerchai <chaifix@163.com>2022-04-23 13:24:05 +0800
commitbdb737230b30e8fb9be63d95b792e8c8ba531ea0 (patch)
tree9e1fe83c65af581d6b3411bcf1b00af4bde8990a /SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs
parent747a355b8a7d273264ce1d8f1848633f8fa52c47 (diff)
* ui staff
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs')
-rw-r--r--SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs
new file mode 100644
index 0000000..a0cfe52
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Managers/PlayerManager_Items.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public partial class PlayerManager : Singleton<PlayerManager>
+{
+ // 持有的物品
+ public List<ItemBase> items { get { return m_Items; } }
+ private List<ItemBase> m_Items = new List<ItemBase>();
+
+ // 当前选中的物品
+ ItemBase m_CurrentItem = null;
+
+ void InitItems()
+ {
+ m_Items.Add(new Item_B2Phone());
+ m_Items.Add(new Item_SpaceBeamer());
+ }
+
+ /// <summary>
+ /// 选中物品
+ /// </summary>
+ public void SetCurrentItem(ItemBase item)
+ {
+ if (!items.Contains(item))
+ {
+ Debug.LogError("No such item");
+ return;
+ }
+ m_CurrentItem = item;
+ }
+
+ /// <summary>
+ /// 使用当前道具
+ /// </summary>
+ public void UseCurrentItem()
+ {
+ if (m_CurrentItem == null)
+ return;
+
+ m_CurrentItem.OnUse(m_Crew.gameObject);
+ }
+
+ void UpdateItems()
+ {
+ for(int i = 0; i < items.Count; ++i)
+ {
+ items[i].Update();
+ }
+ }
+} \ No newline at end of file