Files
test/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs

52 lines
1.7 KiB
C#

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<OnAssignSkillEvent>(OnAssignSlotEvent);
}
private void SubscribeEvents()
{
Debug.Log($"HoangDev: SubscribeEvents: AssignSlots");
uiToggle.onValueChanged.AddListener(OnToggleValueChanged);
EventBus.Subscribe<OnAssignSkillEvent>(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;
}
}
}
}