42 lines
1.0 KiB
C#
42 lines
1.0 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using SepCore.Event;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace SepCore.UI
|
|
{
|
|
public class RoleItem : MonoBehaviour
|
|
{
|
|
[SerializeField] private Image _roleImage = null;
|
|
|
|
private RoleItemContext _context = null;
|
|
|
|
public async UniTaskVoid OnInit(RoleItemContext context)
|
|
{
|
|
_context = context;
|
|
if (_context == null || string.IsNullOrEmpty(_context.IconName))
|
|
{
|
|
return;
|
|
}
|
|
|
|
_roleImage.sprite = await GameEntry.SpriteCache.GetSprite(_context.IconName);
|
|
}
|
|
|
|
public void OnReset()
|
|
{
|
|
_context = null;
|
|
}
|
|
|
|
public void UpdateShowRole()
|
|
{
|
|
int roleId = _context?.RoleId ?? -1;
|
|
GameEntry.Event.Fire(this, SelectRoleHoverEventArgs.Create(roleId));
|
|
}
|
|
|
|
public void OnConfirmRoleClick()
|
|
{
|
|
GameEntry.Event.Fire(this, SelectRoleConfirmEventArgs.Create());
|
|
}
|
|
}
|
|
}
|