using System.Collections.Generic; using Cielonos.MainGame.Inventory; using Cielonos.UI; using UnityEngine; namespace Cielonos.MainGame.Characters { public class PlayerEquipmentSubmodule : SubmoduleBase { public List preparedMainWeapons; public MainWeaponBase currentMainWeapon; public PlayerEquipmentSubmodule(PlayerInventorySubcontroller owner) : base(owner) { preparedMainWeapons = new List(); foreach (MainWeaponBase mainWeapon in owner.backpack.mainWeapons) { ObtainMainWeapon(mainWeapon); } EquipMainWeapon(preparedMainWeapons[0]); } public void ObtainMainWeapon(MainWeaponBase newWeapon) { if (!preparedMainWeapons.Contains(newWeapon)) { preparedMainWeapons.Add(newWeapon); newWeapon.Initialize(); } } public void EquipMainWeapon(MainWeaponBase newWeapon) { currentMainWeapon = newWeapon; currentMainWeapon.OnEquipped(); currentMainWeapon.RegisterFullBodyFuncAnims(); PlayerCanvas.Instance.mainWeaponUIArea.Initialize(currentMainWeapon); } public void RemoveMainWeapon() { Debug.Log("Unequipping main weapon: " + currentMainWeapon); currentMainWeapon.OnUnequipped(); currentMainWeapon = null; } public void DiscardMainWeapon(MainWeaponBase weaponToDiscard) { if (preparedMainWeapons.Contains(weaponToDiscard)) { if (currentMainWeapon == weaponToDiscard) { RemoveMainWeapon(); } preparedMainWeapons.Remove(weaponToDiscard); Object.Destroy(weaponToDiscard); } } } }