//一次购买多个物品 public int BulkBuyItem(int nIndex, int nNumber) { CObject_Item pBoothItem = CDataPool.Instance.Booth_GetItem(nIndex); if (pBoothItem != null) { nNumber = (nNumber <1 || nNumber> pBoothItem.GetMaxOverLay())?1:nNumber; if (CObjectManager.Instance.getPlayerMySelf().GetCharacterData().Get_Money() >= (int)(CDataPool.Instance.Booth_GetItemPrice(nIndex) * nNumber)) { CGShopBuy msg = new CGShopBuy(); msg.UniqueID = CDataPool.Instance.Booth_GetShopUniqueId(); msg.Index = (byte)pBoothItem.GetPosIndex(); msg.SerialNum = (byte)CDataPool.Instance.Booth_GetSerialNum(); msg.BuyNum = (uint)nNumber; NetManager.GetNetManager().SendPacket(msg); return(0); } } CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_INTERCOURSE, "#{LowMoney}"); return(0); }
//----------------------------------------------------------- // 从货架上头购买一个物品 internal void Booth_BuyItem(CObject_Item pItem) { CGShopBuy msg = new CGShopBuy(); // 先判断是否够钱买 msg.UniqueID = CDataPool.Instance.Booth_GetShopUniqueId(); msg.Index = (byte)pItem.PosIndex; NetManager.GetNetManager().SendPacket(msg); }
public override void DoAction() { base.DoAction(); if (ItemImpl == null) { return; } //处理拆分 //...TODO // 发送物品链接 //...TODO switch (ItemImpl.GetTypeOwner()) { case ITEM_OWNER.IO_UNKNOWN: break; case ITEM_OWNER.IO_MYSELF_EQUIP: DoAction_MyEquip(); break; case ITEM_OWNER.IO_PET_EQUIPT: DoAction_PetEquip(); break; case ITEM_OWNER.IO_MYSELF_PACKET: //玩家自己身上的包中 DoAction_Packet(); break; case ITEM_OWNER.IO_MYSELF_BANK: { CGBankRemoveItem msg = new CGBankRemoveItem(); msg.ToType = (byte)(CGBankRemoveItem.RemoveType.BAG_POS); msg.IndexFrom = (byte)GetPosIndex(); msg.IndexTo = 255; NetManager.GetNetManager().SendPacket(msg); } break; case ITEM_OWNER.IO_PLAYEROTHER_EQUIP: break; case ITEM_OWNER.IO_ITEMBOX: break; case ITEM_OWNER.IO_BOOTH: { DoSubAction(); } break; case ITEM_OWNER.IO_MYEXBOX: break; case ITEM_OWNER.IO_OTHEREXBOX: break; case ITEM_OWNER.IO_MISSIONBOX: break; case ITEM_OWNER.IO_MYSTALLBOX: break; case ITEM_OWNER.IO_OTSTALLBOX: break; case ITEM_OWNER.IO_QUESTVIRTUALITEM: break; case ITEM_OWNER.IO_PS_SELFBOX: break; case ITEM_OWNER.IO_PS_OTHERBOX: break; case ITEM_OWNER.IO_BOOTH_CALLBACK: { // if(CActionSystem::GetMe()->GetDefaultAction() == CActionItem_MouseCmd_Repair::GetMe()) //{ // CEventSystem::GetMe()->PushEvent(GE_INFO_SELF,"不能修理此物品"); // break; //} if (CObjectManager.Instance.getPlayerMySelf().GetCharacterData().Get_Money() >= (int)(CDataPool.Instance.Booth_GetSoldPrice(this.GetPosIndex()))) { _ITEM_GUID Guid; ITEM_GUID temp = new ITEM_GUID(); ItemImpl.GetGUID(ref temp.m_idWorld, ref temp.m_idServer, ref temp.m_uSerial); Guid.m_World = (byte)temp.m_idWorld; Guid.m_Server = (byte)temp.m_idServer; Guid.m_Serial = (int)temp.m_uSerial; CGShopBuy msg = new CGShopBuy(); msg.UniqueID = CDataPool.Instance.Booth_GetShopUniqueId(); msg.Index = (byte)(ItemImpl.PosIndex + 200); msg.ItemGuid = Guid; msg.SerialNum = (byte)CDataPool.Instance.Booth_GetSerialNum(); NetManager.GetNetManager().SendPacket(msg); } else { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "#{LowMoney}"); } } break; case ITEM_OWNER.IO_GEM_SEPARATE: break; case ITEM_OWNER.IO_TRANSFER_ITEM: break; case ITEM_OWNER.IO_CITY_RESEARCH: break; case ITEM_OWNER.IO_CITY_SHOP: break; case ITEM_OWNER.IO_QUESTUI_DEMAND: break; case ITEM_OWNER.IO_QUESTUI_REWARD: break; default: break; } }