Unity3D自学笔记——UGUI背包系统(七)物品的装备与卸下

物品的装备与卸下

效果图

装备
这里写图片描述
卸下
这里写图片描述

实现功能

  1. 点击背包里的物品,属性弹出框将显示装备按钮
  2. 点击角色身上的物品,属性弹出框显示卸下按钮
  3. 点击装备后,所选物体将从背包中移除,角色相应装备栏将显示该装备,然后属性动态修改
  4. 点击卸下,所选物体将从角色装备栏移除,并将装备添加至背包

对象关系

背包

物理关系
这里写图片描述
UIScene_Inventory 最外层
PnlGrid 背包格子的容器
Grid 背包的每一个格子
Item 格子中的物品

这里写图片描述

逻辑关系
这里写图片描述
红色为组件或类名
UIInventory:背包的管理组件,背包的初始化,物品的添加,物品的移除的具体逻辑实现
UIItem: 物品的控制显示类
ItemStatus : 物品的所要显示属性的封装,将属性封装为AttributeNode 用于计算
ItemEntity : 数据库传来的对象

类图
这里写图片描述

装备栏

物理关系

装备栏与背包类似,不同的是格子和Item是固定的,卸下装备就是,把Item隐藏,替换就是更改Item的显示图片
这里写图片描述
UIScene_PlayerDetail : 玩家信息界面最外层
PnlEquip:装备栏容器
imgWeapon:装备格子
WeaponItem:装备物品
这里写图片描述

逻辑关系
这里写图片描述
与背包基本相同
UIPlayerDetail:装备栏行为的具体逻辑实现
UIEquipItem:控制装备的显示
ItemStatus、ItemEntity:同背包

角色

PlayerController:角色控制器,角色行为的具体逻辑实现
PlayerStatus : 角色状态

弹出窗口

UIInventoryPopUp 物品详细属性显示及事件触发窗口

实现逻辑

四个主角都有了,装备栏,背包,弹出窗口,角色,现在分析实现步骤

装备物品

这里写图片描述

1.用户点击弹出窗口装备
2.弹出窗口调用PlayerController的装备物品的代码,并将ItemStatus传递

UIInventoryPopUp

 private void BtnDressOnPointerClick(PointerEventData obj)
    {
        if (this.m_ItemStatus.ItemType == ItemType
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值