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

87 行
1.5 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using UnityEngine.Localization.Components;
public class InventoryItemFiller : MonoBehaviour
{
[SerializeField]
private Image itemPreviewImage;
[SerializeField]
private LocalizeStringEvent itemTitle;
[SerializeField]
private TextMeshProUGUI itemCount;
[SerializeField]
private Image bgImage;
[SerializeField]
private Image imgHover;
[SerializeField]
private Image imgSelected;
public ItemStack currentItem;
[SerializeField]
private Button itemButton;
public void SetItem(ItemStack itemStack, bool isSelected, ItemEventChannelSO selectItemEvent)
{
UnhoverItem();
currentItem = itemStack;
imgSelected.gameObject.SetActive(isSelected);
itemPreviewImage.sprite = itemStack.Item.PreviewImage;
itemTitle.StringReference = itemStack.Item.Name;
itemCount.text = itemStack.Amount.ToString();
bgImage.color = itemStack.Item.ItemType.TypeColor;
itemButton.onClick.RemoveAllListeners();
itemButton.onClick.AddListener(() =>
{
SelectItem();
UnhoverItem();
selectItemEvent.RaiseEvent(currentItem.Item);
});
}
public void HoverItem()
{
imgHover.gameObject.SetActive(true);
}
public void UnhoverItem()
{
imgHover.gameObject.SetActive(false);
}
public void SelectItem()
{
imgSelected.gameObject.SetActive(true);
}
public void UnselectItem()
{
imgSelected.gameObject.SetActive(false);
}
}