这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

74 行
1.4 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Localization.Components;
using UnityEngine.Events;
enum ActionType
{
Save,
Reset
}
public class UIActionButton : MonoBehaviour
{
[SerializeField]
private LocalizeStringEvent _buttonActionText = default;
[SerializeField]
private Button _buttonAction = default;
[SerializeField]
UIButtonPrompt buttonPromptSetter = default;
[SerializeField]
InputReader _inputReader = default;
bool hasEvent = false;
public UnityAction Clicked;
public void FillInventoryButton(ItemTypeSO itemType, bool isInteractable = true)
{
_buttonAction.interactable = isInteractable;
_buttonActionText.StringReference = itemType.ActionName;
//bool isKeyboard = !(Input.GetJoystickNames() != null && Input.GetJoystickNames().Length > 0);
bool isKeyboard = true;
buttonPromptSetter.SetButtonPrompt(isKeyboard);
if (isInteractable)
{
if (_inputReader != null)
{
hasEvent = true;
_inputReader.inventoryActionButtonEvent += ClickActionButton;
}
}
else
{
if (_inputReader != null)
if (hasEvent)
_inputReader.inventoryActionButtonEvent -= ClickActionButton;
}
}
public void ClickActionButton()
{
Clicked.Invoke();
}
private void OnDisable()
{
if (_inputReader != null)
if (hasEvent)
_inputReader.inventoryActionButtonEvent -= ClickActionButton;
}
}