Files
test/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs
T

49 lines
1.3 KiB
C#

using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay;
using UnityEngine;
using UnityEngine.UI;
namespace BrewMonster
{
public class AUIToggleSkillAssign : AUIToggle
{
public override void Awake()
{
UnSubscribeEvents();
SubscribeEvents();
return;
}
public void OnDestroy()
{
UnSubscribeEvents();
}
private void UnSubscribeEvents()
{
uiToggle.onValueChanged.RemoveAllListeners();
EventBus.Unsubscribe<OnAssignSkillEvent>(OnAssignSkillEvent);
}
private void SubscribeEvents()
{
Debug.Log($"HoangDev: SubscribeEvents: Slot");
uiToggle.onValueChanged.AddListener(OnToggleValueChanged);
EventBus.Subscribe<OnAssignSkillEvent>(OnAssignSkillEvent);
}
private void OnToggleValueChanged(bool isOn)
{
if (isOn)
{
EventBus.Publish(new OpenAssignSkillEvent(skillID));
}else{
EventBus.Publish(new CloseAssignSkillEvent(skillID));
}
}
private void OnAssignSkillEvent(OnAssignSkillEvent @event)
{
if(@event.skillID != skillID)
{
return;
}
uiToggle.isOn = false;
}
}
}