summaryrefslogtreecommitdiff
path: root/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar
diff options
context:
space:
mode:
Diffstat (limited to 'SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar')
-rw-r--r--SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs40
-rw-r--r--SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs39
-rw-r--r--SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs.meta11
4 files changed, 101 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs
new file mode 100644
index 0000000..24c208c
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs
@@ -0,0 +1,40 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PanelWeaponBar : PanelBase
+{
+ public UIWeaponWidget m_WeaponTemplate;
+
+ public UISimpleGrid m_WeaponGrid;
+
+ private List<UIWeaponWidget> m_Weapons = new List<UIWeaponWidget>();
+
+ public override void Set(object param)
+ {
+ m_WeaponTemplate.gameObject.SetActive(false);
+
+ for (int i = 0; i < PlayerManager.Instance.weapons.Count; ++i)
+ {
+ UIWeaponWidget widget = MakeWeaponWidget(PlayerManager.Instance.weapons[i]);
+ m_Weapons.Add(widget);
+ }
+ }
+
+ UIWeaponWidget MakeWeaponWidget(WeaponBase weapon)
+ {
+ UIWeaponWidget widget = Instantiate<UIWeaponWidget>(m_WeaponTemplate);
+ widget.transform.SetParent(m_WeaponGrid.transform);
+ widget.gameObject.SetActive(true);
+ widget.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, 0);
+#if UNITY_EDITOR
+ widget.name = "weapon (" + weapon.name + ")";
+#endif
+
+ UIWeaponWidgetParam param = new UIWeaponWidgetParam();
+ param.weapon = weapon;
+ widget.Set(param);
+ return widget;
+ }
+
+}
diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs.meta b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs.meta
new file mode 100644
index 0000000..bf78ef3
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/PanelWeaponBar.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1382539f3296aa47b7e2d7f269f9007
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs
new file mode 100644
index 0000000..f061a3b
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs
@@ -0,0 +1,39 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public struct UIWeaponWidgetParam
+{
+ public WeaponBase weapon;
+}
+
+public class UIWeaponWidget : UIGridItemBase
+{
+ public Image Image_Icon;
+ public Image Image_CD;
+
+ public WeaponBase weapon { get { return m_Weapon; } }
+ private WeaponBase m_Weapon;
+
+ public override void Set(object param)
+ {
+ UIWeaponWidgetParam info = (UIWeaponWidgetParam)param;
+ m_Weapon = info.weapon;
+
+ Image_Icon.sprite = ResourceManager.Instance.Load<Sprite>(info.weapon.iconPath);
+
+ Image_CD.gameObject.SetActive(weapon.autoMode == WeaponBase.AutoMode.Interval);
+ }
+
+ private void Update()
+ {
+ if(weapon.autoMode == WeaponBase.AutoMode.Interval)
+ {
+ float countDown = TinyCountDown.Instance.Get(weapon.GetHashCode().ToString());
+ float t = countDown / weapon.interval;
+ Image_CD.fillAmount = t;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs.meta b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs.meta
new file mode 100644
index 0000000..bad655e
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/UI/Panel/PanelWeaponBar/UIWeaponWidget.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 83ab90093bb5312428311a589a4fe90f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: