/// <summary> /// 更新界面的方法 /// </summary> void UpdatePanel() { //把人物身上装备的物品显示, 所有属性显示 //先把所有的格子清空 for (int i = 0; i < grids.Length; i++) { grids[i].UpdateItem(-1, ""); } //再把人物身上装备显示在对应的格子上 for (int i = 0; i < grids.Length; i++) { PlayerGridUI grid = grids[i]; for (int j = 0; j < PlayerData.Instance.Items.Count; j++) { //当格子的装备与人物数据里的装备的类型是一致时,证明该装备应该放在这个格子上 if (grid.gridType == PlayerData.Instance.Items[j].Type) { grid.UpdateItem(PlayerData.Instance.Items[j].Id, PlayerData.Instance.Items[j].IconName); } } } string inspectorString = ""; inspectorString += "攻击力:" + PlayerData.Instance.Atk + "<color=\"green\"> + " + PlayerData.Instance.AddAtk + "</color>\n"; inspectorString += "防御力:" + PlayerData.Instance.Def + "<color=\"green\"> + " + PlayerData.Instance.AddDef + "</color>\n"; inspectorString += "暴击率:" + PlayerData.Instance.Thump + "<color=\"green\"> + " + PlayerData.Instance.AddThump + "</color>\n"; inspectorString += "生命值:" + PlayerData.Instance.Hp + "<color=\"green\"> + " + PlayerData.Instance.AddHp + "</color>\n"; inspectorString += "魔法值:" + PlayerData.Instance.Mp + "<color=\"green\"> + " + PlayerData.Instance.AddMp + "</color>\n"; inspectorString += "怒气值:" + PlayerData.Instance.Anger + "<color=\"green\"> + " + PlayerData.Instance.AddAnger + "</color>\n"; List <SuitData> suits = PlayerData.Instance.Suits; if (suits.Count > 0) { for (int i = 0; i < suits.Count; i++) { inspectorString += "\n\n" + suits[i].ToString(); } } inspectorText.text = inspectorString; ////加上套装属性 SetGridSelected(PlayerData.Instance.WillDressType); }
/// <summary> /// 设置对应类型的装备格子为被选择状态(显示边框) /// </summary> public void SetGridSelected(EquipmentType equipmentType) { for (int i = 0; i < grids.Length; i++) { PlayerGridUI grid = grids[i]; if (equipmentType == grid.gridType) { grid.SetSelect(true); } else { grid.SetSelect(false); } } }
public int sellItemID = -1;//将要卖出、丢弃的装备ID,点击了确认按钮后要用来和当前格子的装备ID比较 protected override void EndDrag(PointerEventData eventData) { base.EndDrag(eventData); if (luaEndDrag != null) { luaEndDrag(eventData); return; } if (itemID < 0) { return; } GameObject g = eventData.pointerCurrentRaycast.gameObject; if (g != null && g.CompareTag("ShopGrid")) { //当拖到商店区域时 //卖出物品 sellItemID = itemID; EquipmentData data = BagData.Instance.GetItem(sellItemID); string noticeStr = string.Format("确定卖出这个装备吗?\n你将获得{0}金币", data.PriceSell); NoticeUI.Instance.ShowNotice(noticeStr, () => Debug.Log("不卖了" + sellItemID), () => SellSureCallback(sellItemID)); } else if (g != null && g.CompareTag("PlayerGrid")) { Debug.Log("装备物品"); //获取到鼠标当前检测到的装备栏的类型 PlayerGridUI grid = eventData.pointerCurrentRaycast.gameObject.GetComponent <PlayerGridUI>(); BagController.Instance.EquipmentItem(itemID, grid.gridType, CallBck); } else if (g == null) { //丢弃物品 int sellItemID = itemID; NoticeUI.Instance.ShowNotice("确定丢弃这个装备吗?", () => Debug.Log("不丢了" + sellItemID), () => AbandonSureCallback(sellItemID)); } //当你拖动背包的装备时,对应能装备该物品的装备栏要提示 BagController.Instance.EndDragItem(); }