unity 背包系统脚本代码
时间: 2023-12-24 15:02:02 浏览: 159
以下是一个简单的Unity背包系统脚本代码示例:
```c#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Inventory : MonoBehaviour {
#region Singleton
public static Inventory instance;
void Awake ()
{
if (instance != null)
{
Debug.LogWarning("More than one instance of Inventory found!");
return;
}
instance = this;
}
#endregion
public delegate void OnItemChanged();
public OnItemChanged onItemChangedCallback;
public int space = 20; // 背包空间大小
public List<Item> items = new List<Item>(); // 背包物品列表
// 添加物品到背包
public bool Add (Item item)
{
if (!item.isDefaultItem) // 如果不是默认物品
{
if (items.Count >= space) // 如果背包已满
{
Debug.Log("Not enough room.");
return false;
}
items.Add(item); // 添加物品
if (onItemChangedCallback != null) // 触发背包物品改变事件
onItemChangedCallback.Invoke();
}
return true;
}
// 移除物品从背包
public void Remove (Item item)
{
items.Remove(item); // 移除物品
if (onItemChangedCallback != null) // 触发背包物品改变事件
onItemChangedCallback.Invoke();
}
}
```
该脚本包括一个Inventory类,其中包含添加物品、移除物品、背包空间大小和背包物品列表等方法和属性。使用该脚本可以轻松地创建一个简单的背包系统。
阅读全文