IFItemMallConfirmBuy.cpp
unknown
c_cpp
2 years ago
2.1 kB
112
Indexable
// // Created by maximus on 12/24/2023. // #include "IFItemMallConfirmBuy.h" #include "BSLib/multibyte.h" #include "ClientNet/CInterfaceNetSender.h" #include "GlobalDataManager.h" #include "IFInventory.h" #include "IFItemMallShopSlot.h" CSOItemPackage *CIFItemMallConfirmBuy::GetPackageItem() const { return m_pSOPackageItem; } void CIFItemMallConfirmBuy::OnBuy_BtnClick() { CIFWnd *pParent = (CIFWnd *) GetParentControl(); if (pParent && pParent->IsSame(GFX_RUNTIME_CLASS(CIFInventory))) { return; } CIFItemMallShopSlot *pSlot = (CIFItemMallShopSlot *) pParent; std::n_string strCodeName = TO_NSTRING(GetPackageItem()->GetPackageItemData()->m_codeName128).c_str(); CStringData *data = new CStringData(); data->str = strCodeName; int nRealIndex = GetRealItemIndex(pSlot->GetItemMallData()->m_usShopId, pSlot->GetItemMallData()->m_btTab, GetPackageItem()); g_pCInterfaceNetSender->BuyItemMallItem( GetPackageItem()->GetPackageItemData()->m_id, pSlot->GetItemMallData()->m_usShopId, pSlot->GetItemMallData()->m_btTab, nRealIndex, m_usCount, 0, m_nField7E8, m_nField7EC, *data); pSlot->OnConfirmBuySectionControl(false); } int CIFItemMallConfirmBuy::GetRealItemIndex(int nShopId, int nTabIndex, CSOItemPackage* pPackageItem) { CRefShopdata *pShopData = g_CGlobalDataManager->m_refShopDataMap[nShopId]; if (pShopData && pShopData->m_vRefShopTabGroupData.size() > 0) { CRefShopTabGroupData *pTabGroupData = pShopData->m_vRefShopTabGroupData[0]; if (pTabGroupData && pTabGroupData->m_vRefShopTabData.size() > nTabIndex) { CRefShopTabData *pTabData = pTabGroupData->m_vRefShopTabData[nTabIndex]; for (int i = 0; i < pTabData->m_vPackageItems.size(); i++) { if (pTabData->m_vPackageItems[i] && pTabData->m_vPackageItems[i] == pPackageItem) { return i; } } } } return -1; }
Editor is loading...
Leave a Comment