Example #1
0
    void OnEquipRightMouseClicked(Grid_N grid)
    {
        if (m_RefNpc == null)
        {
            return;
        }

        if (null == grid.ItemObj)
        {
            return;
        }

        if (GameConfig.IsMultiMode)
        {
            if (NpcEquipment.TryTakeOffEquipment(grid.ItemObj))
            {
                PlayerNetwork.mainPlayer.RequestNpcTakeOffEquip(m_RefNpc.Id, grid.ItemObj.instanceId, -1);
                //lz-2016.08.31 脱下装备成功播放音效
                GameUI.Instance.PlayTakeOffEquipAudio();
            }
        }
        else
        {
            PlayerPackageCmpt playerPackageCmpt = PeCreature.Instance.mainPlayer == null ? null : Pathea.PeCreature.Instance.mainPlayer.GetCmpt <PlayerPackageCmpt>();
            //lz-2016.07.19 这里应该用添加和移除同步检测和操作的接口
            if (NpcEquipment.TakeOffEquipment(grid.ItemObj, true, playerPackageCmpt))
            {
                GameUI.Instance.mItemPackageCtrl.Show();
                if (GameUI.Instance.mItemPackageCtrl != null)
                {
                    GameUI.Instance.mItemPackageCtrl.ResetItem();
                }
                //lz-2016.08.31 脱下装备成功播放音效
                GameUI.Instance.PlayTakeOffEquipAudio();
            }
            else
            {
                //lz-2016.07.19 玩家包裹可以添加,说明在取下装备的时候失败了
                if (null == playerPackageCmpt || playerPackageCmpt.package.CanAdd(grid.ItemObj))
                {
                    //lz-2016.07.19 提示NPC正在使用此装备
                    CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000594));
                }
                else
                {
                    //lz-2016.07.19  提示玩家背包已经满了
                    CSUI_MainWndCtrl.ShowStatusBar(PELocalization.GetString(8000050).Replace("\\n", " "));
                }
            }
        }
    }
Example #2
0
 public bool EquipItem(ItemObject itemObj)
 {
     if (NpcEquipment != null)
     {
         EquipmentCmpt.Receiver receiver = PeCreature.Instance.mainPlayer == null ? null : PeCreature.Instance.mainPlayer.GetCmpt <PackageCmpt>();
         if (NpcEquipment.PutOnEquipment(itemObj, true, receiver))
         {
             //lz-2016.08.31 装备成功播放音效
             GameUI.Instance.PlayPutOnEquipAudio();
             return(true);
         }
     }
     return(false);
 }
Example #3
0
    void OnEquipDropItem(Grid_N grid)
    {
        if (m_RefNpc == null)
        {
            return;
        }

        //EquipedNpc equip_npc = m_RefNpc as EquipedNpc;
        if (NpcEquipment == null)
        {
            return;
        }

        if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_HotKeyBar ||
            !UIToolFuncs.CanEquip(SelectItem_N.Instance.ItemObj, m_NpcCommonInfo.sex) ||
            ((int)grid.ItemMask & SelectItem_N.Instance.ItemObj.protoData.equipPos) == 0)
        {
            return;
        }


        if (GameConfig.IsMultiMode)
        {
            if (NpcEquipment.NetTryPutOnEquipment(SelectItem_N.Instance.ItemObj))
            {
                PlayerNetwork.mainPlayer.RequestNpcPutOnEquip(m_RefNpc.Id, SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Place);
                SelectItem_N.Instance.SetItem(null);
                //lz-2016.08.31 装备成功播放音效
                GameUI.Instance.PlayPutOnEquipAudio();
            }
        }
        else
        {
            //EquipmentCmpt.Receiver receiver = PeCreature.Instance.mainPlayer == null ? null : PeCreature.Instance.mainPlayer.GetCmpt<PackageCmpt>();
            if (NpcEquipment.PutOnEquipment(SelectItem_N.Instance.ItemObj, true))
            {
                SelectItem_N.Instance.RemoveOriginItem();
                SelectItem_N.Instance.SetItem(null);
                UpdateEquipAndTex();
                //lz-2016.08.31 装备成功播放音效
                GameUI.Instance.PlayPutOnEquipAudio();
            }
        }
    }