Unity3D系统实现背包里物品的各种功能

先给出部分效果图: 
背包是用来存放角色在游戏中获得的物品,箱子是用来临时保存物品的(只有保存功能),角色面板是用来模拟给角色装备物品的,武器,服饰等,最右边红色字体的面板是用来显示当前装备下角色的各个属性总和 
背包是用来存放角色在游戏中获得的物品,箱子是用来临时保存物品的(只有保存功能),角色面板是用来模拟给角色装备物品的,武器,服饰等,最右边红色字体的面板是用来显示当前装备下角色的各个属性总和。

商贩面板功能主要是用来给玩家购买物品和卖掉自己物品,另外看到左边黑色的那块(里面的字体五颜六色的),用来显示每个物品的属性。还有右上角的硬币图样用来显示玩家当前拥有的钱币,玩家向商贩买装备时钱币减少,把背包里的装备卖给商贩时钱币增加,只是买卖的价格不同 
商贩面板功能主要是用来给玩家购买物品和卖掉自己物品,另外看到左边黑色的那块(里面的字体五颜六色的),用来显示每个物品的属性。还有右上角的硬币图样用来显示玩家当前拥有的钱币,玩家向商贩买装备时钱币减少,把背包里的装备卖给商贩时钱币增加,只是买卖的价格不同。

锻造面板用来给玩家提供锻造功能,玩家可以使用背包里的符合锻造需求的物品锻造更厉害物品 
锻造面板用来给玩家提供锻造功能,玩家可以使用背包里的符合锻造需求的物品锻造更厉害物品。具体的锻造需求先不作介绍,后续介绍。


还有最重要的UML类图,看懂这个基本就大概地搞定这个所谓的装备系统了: 
这里写图片描述

这里先让大家理解个大概思路,从全局掌握开始:先看UML图的左边,左边并没有涉及到U3d里UI的各种变换逻辑,只是用来单纯的处理物品数据的存储和获取之类的。每个装备物品Item都有自己的属性(id,name什么的),然后物品类左边的是两个枚举,用来补充物品的类型和品质。接着,由物品类根据物品类型枚举衍生出具有特殊功能的四个子类:消耗品(如血瓶啊,蓝瓶等),装备类(主要是玩家装扮用),武器就不说了,材料类(用来锻造更好的物品)。补充:装备类也有不同的类型,就好比上衣只能穿在上身,裤子只能在下身,所以也用一个枚举来加以区分。武器也同样分为主手武器(一般是右手拿着)和副手武器(左手)。 


接下来,看UNL图的右边部分:右边就是用来处理涉及到U3d里UI的各种变换逻辑了。首先,每一个物品的各种属性信息都放在一个Json里(如果不懂Json自己谷歌或百度哈,这里不再赘述!),由物品管理器负责解析,当然物品管理器也负责一些提示框(ToolTip)(也就是上面介绍的五颜六色字体的那个黑块)面板的显示和隐藏。Inventory(存货)类,是每个装备面板的基类,为什么这样设计呢,因为下面的每一个功能面板(子类),都有很多相同的方法,所以在基类Inventory中就先写好,这样就算子类增加功能重写父类方法也完全可以。inventory下面的每一个子类上面图中都已经介绍过,不再赘述。Slot物品槽类,对应图中存放每个物品的地方,主要用来实现存储物品功能,注意,它也是一个基类,因为每一个面板的物品槽的功能会有差异(后续介绍)。ItemUI类,见名之意,是物品在UI中的实际体现,只有两个属性,物品和物品的数量,如上面图中的物品显示UI。 


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


猜你喜欢

转载自blog.csdn.net/ziqianqian0732/article/details/79341558