36 lines
1012 B
C#
36 lines
1012 B
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
namespace BlueWater.Uis
|
|
{
|
|
public class ManualCocktailButton : MonoBehaviour, ISelectHandler
|
|
{
|
|
[field: SerializeField]
|
|
public Image Image { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public Button Button { get; private set; }
|
|
|
|
private Action<ManualCocktailButton> _onSelectedAction;
|
|
private ManualBook _manual; // 다른 스크립트가 붙은 오브젝트를 참조 (에디터에서 설정 가능)
|
|
|
|
private void OnDestroy()
|
|
{
|
|
_onSelectedAction = null;
|
|
}
|
|
|
|
public void OnSelect(BaseEventData eventData)
|
|
{
|
|
_onSelectedAction?.Invoke(this);
|
|
}
|
|
|
|
public void SetImage(Sprite sprite) => Image.sprite = sprite;
|
|
|
|
public void AddSelectedAction(Action<ManualCocktailButton> selectedAction)
|
|
{
|
|
_onSelectedAction += selectedAction;
|
|
}
|
|
}
|
|
} |