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", " ")); } } } }
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); }
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(); } } }