52 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|