Files
2025TapTapGameJam/Assets/Script/Gameplay/UI/EditableComponentViewer.cs

40 lines
1.1 KiB
C#
Raw Permalink Normal View History

using Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Script.Gameplay.Interface;
namespace UI
{
public class EditableComponentViewer : MonoBehaviour
{
private IEditableComponent _component;
[SerializeField] private TMP_Text componentName;
[SerializeField] private TMP_Text componentState;
[SerializeField] private Button closeButton;
public void SetComponent(IEditableComponent component)
{
_component = component;
if (component != null)
{
closeButton.onClick.AddListener(OnClickButton);
RefreshUI();
}
}
private void OnClickButton()
{
2025-10-21 15:32:59 +08:00
_component.IsEditableActive = !_component.IsEditableActive;
RefreshUI();
}
private void RefreshUI()
{
if (_component != null)
{
componentName.text = _component.ComponentName;
2025-10-21 15:32:59 +08:00
componentState.text = _component.IsEditableActive ? "Active" : "Inactive";
}
}
}
}