unity3D之道具系统补全

   本篇原本属于UI的,但是作为一个负责任的茶水,在回顾之前的帖子的时候,发现漏了一个很重要的功能,就是合成系统,我们在设计道具的时候,已经设计好了配方这个类型的道具,但是,在背包系统中却没有合成的功能,这样可不行啊,合成是一个游戏的精髓啊,所以,确定本篇乱入,补全道具系统的核心代码,当让,最后附上测试单元,这样就可以测试合成这一块了,具体的新UI demo(含合成功能),将会随下篇一起附上。

   好了,这次其实不用什么新建什么脚本了,我们只要修改之前的就可以了。 照旧,最后附上全部代码。

   Inventory_Manager 里添加新的函数

   public int Get_Amount_Item(int itemID, Inventory_Type type), 返回道具的数量,用于判断是否有足够的材料制作新道具,若道具不熏在,返回-1。道具ID,背包类型。

   public bool Has_Item(int itemID, Inventory_Type type),是否拥有指定道具,简单不解释。道具ID,背包类型。

   public bool Can_Create_Item(int recipeID, Inventory_Type type),判断是否能制作新的道具,主要判定是否有足够材料。配方的道具ID,背包类型。

   public Item_Profile Create_Item(int recipeID, Inventory_Type type),制作道具,返回道具的描述文件(脚本或类型),并移除材料,配方保留。配方的道具ID,背包类型。(注意,正常的合成系统应该只能在玩家的背包或仓库才能进行的,所以外部调用的时候,需要判断好背包类型的合法性。UI篇里会继续探讨。)

   Unit_Inventory_Manager 和 Unit_Inventory_Manager_Editor 只是添加了一个提供测试函数而已,没什么也别。但是值得注意的是,Unit_Inventory_Manager 中的参数 itemInfo 返回一个新制作出来的道具,用于快速定位而已,可无视。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值