Example #1
0
    /// <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);
    }
Example #2
0
 /// <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);
         }
     }
 }
Example #3
0
    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();
    }