本文转自Unity Connect博主 Michael Wang
用ScriptableObject来作为我们的数据存储,画上UI你就拥有你自己的背包啦!
现在虽然有很多的 Inventory System 的插件可以直接使用,但是如果能了解和明白背后的逻辑和代码的实现方法,就可以创建属于自己的背包系统了。也可以额外扩展很多功能。所以快来一起动手做一个吧~
所有素材均使用 Asset Store 中的免费素材哦~
这里主要介绍一个重要的知识点,我们的主角:ScriptableObject
我们创建一个代码,目的:用来作为物品的模版,存储物品的基本属性,并且创建了一个物品后要保存在我们的游戏文件夹当中,作为我们的物品数据库。
所以我们替换掉 MonoBehaviour 使用 ScriptableObject。如果你在官网的手册当中搜索 ScriptableObject 的话会看到很具体的解释,它的一个优点就是不需要挂在任何 GameObject 上才能使用。我们动手写一下就知道啦~
public class Item : ScriptableObject
{
public string itemName;
public Sprite itemImage;
public int itemHeld;
[TextArea]
public string itemInfo;
public bool equip;
}
上面的这行代码是为了创建我们的模版的基本框架,物品名称,图片,属性等等。有了这些后接下来就可以实际生成这