using System; using System.Collections.Generic; using Cielonos.MainGame.Characters.Inventory; using SLSUtilities.UI; using UnityEngine; namespace Cielonos.MainGame.UI { public class MainWeaponUIArea : UIElementBase { public MainWeaponBase mainWeapon; public GameObject functionIconPrefab; public RectTransform functionIconContainer; public MainWeaponDisplayer displayer; public List functionIcons; private void Awake() { functionIcons = new List(); } public void Initialize(MainWeaponBase mainWeapon) { this.mainWeapon = mainWeapon; Sprite rectIcon = mainWeapon.contentData.rectIcon; string weaponName = mainWeapon.contentData.className; displayer.Initialize(rectIcon, weaponName); ClearIcons(); foreach (KeyValuePair unit in mainWeapon.functionSm.functionUnits) { if (!unit.Value.data.shownInUI) continue; MainWeaponFunctionIcon icon = Instantiate(functionIconPrefab, functionIconContainer).GetComponent(); icon.Initialize(unit.Value); functionIcons.Add(icon); } } private void Update() { functionIcons.ForEach(icon => icon.UpdateUI()); } private void ClearIcons() { foreach (MainWeaponFunctionIcon icon in functionIcons) { Destroy(icon.gameObject); } functionIcons.Clear(); } } }