您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
48 行
1.0 KiB
48 行
1.0 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.Localization.Components;
|
|
using UnityEngine.UI;
|
|
public class UIInventoryTab : MonoBehaviour
|
|
{
|
|
|
|
[SerializeField] private Image _tabImage = default;
|
|
|
|
[SerializeField] private Button _actionButton = default;
|
|
|
|
[SerializeField] private Color _selectedIconColor = default;
|
|
[SerializeField] private Color _deselectedIconColor = default;
|
|
|
|
|
|
public UnityAction<InventoryTabSO> TabClicked;
|
|
[HideInInspector]
|
|
public InventoryTabSO _currentTabType = default;
|
|
|
|
public void SetTab(InventoryTabSO tabType, bool isSelected)
|
|
{
|
|
_currentTabType = tabType;
|
|
_tabImage.sprite = tabType.TabIcon;
|
|
UpdateState(isSelected);
|
|
|
|
}
|
|
public void UpdateState(bool isSelected)
|
|
{
|
|
_actionButton.interactable = !isSelected;
|
|
|
|
if (isSelected)
|
|
{
|
|
_tabImage.color = _selectedIconColor;
|
|
}
|
|
else
|
|
{
|
|
_tabImage.color = _deselectedIconColor;
|
|
}
|
|
|
|
}
|
|
public void ClickButton()
|
|
{
|
|
TabClicked.Invoke(_currentTabType);
|
|
|
|
}
|
|
}
|