using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; using UnityEngine; using BrewMonster.UI; using BrewMonster.Network; namespace BrewMonster { public class AUIToggleAssignSlot : AUIToggle { // [Header("AssignSlotToggleUI")] // [SerializeField] int slotIndex; public override void Awake() { UnSubscribeEvents(); SubscribeEvents(); return; } public void OnDestroy() { UnSubscribeEvents(); } private void UnSubscribeEvents() { uiToggle.onValueChanged.RemoveAllListeners(); EventBus.Unsubscribe(OnAssignSlotEvent); } private void SubscribeEvents() { Debug.Log($"HoangDev: SubscribeEvents: AssignSlots"); uiToggle.onValueChanged.AddListener(OnToggleValueChanged); EventBus.Subscribe(OnAssignSlotEvent); } private void OnToggleValueChanged(bool isOn) { if (isOn) { EventBus.Publish(new OpenAssignSlotEvent(slotIndex)); }else{ EventBus.Publish(new CloseAssignSlotEvent(slotIndex)); } } private void OnAssignSlotEvent(OnAssignSkillEvent @event) { if(@event.slotIndex == slotIndex) { var processSkill = CECGameRun.Instance.GetHostPlayer().GetPositiveSkillByID(@event.skillID); EC_Game.GetGameRun().GetUIManager().GetInGameUIMan().SetCover(this, processSkill.GetIconFile(), EC_GAMEUI_ICONS.ICONS_SKILL); uiToggle.isOn = false; } } } }