2024-12-02 01:48:44 +00:00
|
|
|
using System;
|
2024-10-24 05:04:40 +00:00
|
|
|
using UnityEngine;
|
2024-12-02 01:48:44 +00:00
|
|
|
using UnityEngine.EventSystems;
|
2024-10-24 05:04:40 +00:00
|
|
|
using UnityEngine.UI;
|
|
|
|
|
2024-11-17 04:29:57 +00:00
|
|
|
namespace BlueWater.Uis
|
|
|
|
{
|
2024-12-02 01:48:44 +00:00
|
|
|
public class ManualCocktailButton : MonoBehaviour, ISelectHandler
|
2024-11-17 04:29:57 +00:00
|
|
|
{
|
|
|
|
[field: SerializeField]
|
|
|
|
public Image Image { get; private set; }
|
2024-12-02 01:48:44 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public Button Button { get; private set; }
|
2024-10-24 05:04:40 +00:00
|
|
|
|
2024-12-02 01:48:44 +00:00
|
|
|
private Action<ManualCocktailButton> _onSelectedAction;
|
|
|
|
private ManualBook _manual; // 다른 스크립트가 붙은 오브젝트를 참조 (에디터에서 설정 가능)
|
|
|
|
|
|
|
|
private void OnDestroy()
|
2024-11-17 04:29:57 +00:00
|
|
|
{
|
2024-12-02 01:48:44 +00:00
|
|
|
_onSelectedAction = null;
|
2024-11-17 04:29:57 +00:00
|
|
|
}
|
2024-10-24 05:04:40 +00:00
|
|
|
|
2024-12-02 01:48:44 +00:00
|
|
|
public void OnSelect(BaseEventData eventData)
|
2024-11-17 04:29:57 +00:00
|
|
|
{
|
2024-12-02 01:48:44 +00:00
|
|
|
_onSelectedAction?.Invoke(this);
|
2024-11-17 04:29:57 +00:00
|
|
|
}
|
2024-12-02 01:48:44 +00:00
|
|
|
|
2024-11-17 04:29:57 +00:00
|
|
|
public void SetImage(Sprite sprite) => Image.sprite = sprite;
|
|
|
|
|
2024-12-02 01:48:44 +00:00
|
|
|
public void AddSelectedAction(Action<ManualCocktailButton> selectedAction)
|
2024-11-17 04:29:57 +00:00
|
|
|
{
|
2024-12-02 01:48:44 +00:00
|
|
|
_onSelectedAction += selectedAction;
|
2024-11-17 04:29:57 +00:00
|
|
|
}
|
2024-10-24 05:04:40 +00:00
|
|
|
}
|
2024-11-17 04:29:57 +00:00
|
|
|
}
|