73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
|
|
#nullable enable
|
||
|
|
using TMPro;
|
||
|
|
using UnityEngine;
|
||
|
|
using UnityEngine.UI;
|
||
|
|
using UVC.UI.List.Draggable;
|
||
|
|
|
||
|
|
namespace UVC.Factory.Modal.Settings
|
||
|
|
{
|
||
|
|
public class DisplayDataOrderListItemView : ListItemView
|
||
|
|
{
|
||
|
|
[Header("UI 추가 요소 연결")]
|
||
|
|
[SerializeField]
|
||
|
|
[Tooltip("사용 유무를 선택 할 Toggle")]
|
||
|
|
protected Toggle? toggle;
|
||
|
|
|
||
|
|
[SerializeField]
|
||
|
|
[Tooltip("아이템의 제목을 표시할 TMP_InputField 컴포넌트")]
|
||
|
|
protected TMP_InputField? inputText;
|
||
|
|
|
||
|
|
public void Start()
|
||
|
|
{
|
||
|
|
if (toggle != null)
|
||
|
|
{
|
||
|
|
toggle.onValueChanged.AddListener(OnToggleValueChanged);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (inputText != null)
|
||
|
|
{
|
||
|
|
inputText.onValueChanged.AddListener(OnInputTextChanged);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void OnInputTextChanged(string text)
|
||
|
|
{
|
||
|
|
if (boundData != null)
|
||
|
|
{
|
||
|
|
boundData.DisplayName = text;
|
||
|
|
OnChangeData?.Invoke(boundData);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private void OnToggleValueChanged(bool isChecked)
|
||
|
|
{
|
||
|
|
if (boundData is ConfigDataOrderListItemData itemData)
|
||
|
|
{
|
||
|
|
itemData.isChecked = isChecked;
|
||
|
|
OnChangeData?.Invoke(itemData);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void UpdateUI()
|
||
|
|
{
|
||
|
|
base.UpdateUI();
|
||
|
|
// IListItemData 인터페이스를 구현한 경우
|
||
|
|
if (boundData != null)
|
||
|
|
{
|
||
|
|
if(inputText != null) inputText.text = boundData.DisplayName;
|
||
|
|
if(toggle != null) toggle.isOn = boundData is ConfigDataOrderListItemData itemData && itemData.isChecked;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnDestroy()
|
||
|
|
{
|
||
|
|
base.OnDestroy();
|
||
|
|
if (toggle != null) toggle.onValueChanged.RemoveListener(OnToggleValueChanged);
|
||
|
|
if (inputText != null)
|
||
|
|
{
|
||
|
|
inputText.onValueChanged.RemoveListener(OnInputTextChanged);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|