#include "SunClientPrecompiledHeader.h" #include "uiConvenienceStoreMan.h" #include "uiConvenienceStore_Counter.h" #include "uiConvenienceStore_Basket.h" #include "uiConvenienceStore_PopupMenuFour.h" #include "uiConvenienceStore_PopupMenuThree.h" #include "uiConvenienceStore_PopupMenuTwo.h" #include "uiConvenienceStore_PopupMenuFive.h" #include "uiConvenienceStore_Purchase.h" #include "uiConvenienceStore_Confirm.h" #include "uiConvenienceStore_Gift.h" #include "uiConvenienceStore_FriendList.h" #include "uiConvenienceStore_PopupPackage.h" #include "uiConvenienceStore_ItemDetail.h" #include "uiConvenienceStore_Ask.h" #include "uiConvenienceStore_CashType.h" #include "ShopDefine.h" #include "GlobalFunc.h" #include "ItemManager.h" #include "uiToolTipMan\uiToolTipMan.h" #include "GameFramework.h" #include "Hero.h" #include "HeroEquipmentContainer.h" #include "PacketRequestManager.h" #include "PurchaseItem.h" #include "ProductInfo.h" #include "StorageItem.h" //------------------------------------------------------------------------------ uiConvenienceStoreMan::uiConvenienceStoreMan(InterfaceManager* manager) : uiBaseMan(manager) { } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::OnInitialize() { #ifdef _NA_0_20110613_GAME_SHOP_RENEWAL CreateUIDialog(uiConvenienceStore_Counter::kDialog_ID, "Data\\Interface\\47_2_Cash_itemshop.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_PopupMenuFour::kDialog_ID, "Data\\Interface\\47_4_Button_list01.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_PopupMenuThree::kDialog_ID, "Data\\Interface\\47_13_Button_list03.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_PopupMenuTwo::kDialog_ID, "Data\\Interface\\47_5_Button_list02.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_PopupMenuFive::kDialog_ID, "Data\\Interface\\47_12_Button_list03.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_Purchase::kDialog_ID, "Data\\Interface\\47_6_Purchase_popup01.iwz", this, TRUE); CreateUIDialog(uiConvenienceStore_Confirm::kDialog_ID, "Data\\Interface\\47_7_Purchase_popup02.iwz", this, TRUE); CreateUIDialog(uiConvenienceStore_Gift::kDialog_ID, "Data\\Interface\\47_8_Gift_popup.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_FriendList::kDialog_ID, "Data\\Interface\\47_9_List_popup.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_PopupPackage::kDialog_ID, "Data\\Interface\\47_10_Package_List.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_ItemDetail::kDialog_ID, "Data\\Interface\\47_11_Gift_accept.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_Ask::kDialog_ID, "Data\\Interface\\82_7_Asking_Window.iwz", this, FALSE); CreateUIDialog(uiConvenienceStore_CashType::kDialog_ID, "Data\\Interface\\47_14_Cash_purchase.iwz", this, FALSE); //------------------------------------------------------------------------------ CreateUIDialog(uiConvenienceStore_Basket::kDialog_ID, "Data\\Interface\\47_3_Cash_itemlist.iwz", this, TRUE, TRUE); #endif //_NA_0_20110613_GAME_SHOP_RENEWAL } //------------------------------------------------------------------------------ uiConvenienceStore_Basket* uiConvenienceStoreMan::basket() { return GET_CAST_DIALOG(uiConvenienceStore_Basket, uiConvenienceStore_Basket::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_Counter* uiConvenienceStoreMan::counter() { return GET_CAST_DIALOG(uiConvenienceStore_Counter, uiConvenienceStore_Counter::kDialog_ID); } //------------------------------------------------------------------------------ bool uiConvenienceStoreMan::is_show_popup_menu() { if (popup_menu_two() != NULL && popup_menu_two()->IsVisible()) return true; if (popup_menu_three() != NULL && popup_menu_three()->IsVisible()) return true; if (popup_menu_four() != NULL && popup_menu_four()->IsVisible()) return true; if (popup_menu_five() != NULL && popup_menu_five()->IsVisible()) return true; return false; } //------------------------------------------------------------------------------ uiConvenienceStore_PopupMenu* uiConvenienceStoreMan::popup_menu(ConvenienceStore::Define::PopupMenuKind e) { switch (e) { case ConvenienceStore::Define::kPopupMenuKind_Two: return popup_menu_two(); case ConvenienceStore::Define::kPopupMenuKind_Three: return popup_menu_three(); case ConvenienceStore::Define::kPopupMenuKind_Four: return popup_menu_four(); case ConvenienceStore::Define::kPopupMenuKind_Five: return popup_menu_five(); //case kPopupMenuKind_Package: return popup_package(); } return NULL; } //------------------------------------------------------------------------------ uiConvenienceStore_PopupMenuFive* uiConvenienceStoreMan::popup_menu_five() { return GET_CAST_DIALOG(uiConvenienceStore_PopupMenuFive, uiConvenienceStore_PopupMenuFive::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_PopupMenuFour* uiConvenienceStoreMan::popup_menu_four() { return GET_CAST_DIALOG(uiConvenienceStore_PopupMenuFour, uiConvenienceStore_PopupMenuFour::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_PopupMenuThree* uiConvenienceStoreMan::popup_menu_three() { return GET_CAST_DIALOG(uiConvenienceStore_PopupMenuThree, uiConvenienceStore_PopupMenuThree::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_PopupMenuTwo* uiConvenienceStoreMan::popup_menu_two() { return GET_CAST_DIALOG(uiConvenienceStore_PopupMenuTwo, uiConvenienceStore_PopupMenuTwo::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_Confirm* uiConvenienceStoreMan::confirm() { return GET_CAST_DIALOG(uiConvenienceStore_Confirm, uiConvenienceStore_Confirm::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_Purchase* uiConvenienceStoreMan::purchase() { return GET_CAST_DIALOG(uiConvenienceStore_Purchase, uiConvenienceStore_Purchase::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_Gift* uiConvenienceStoreMan::gift() { return GET_CAST_DIALOG(uiConvenienceStore_Gift, uiConvenienceStore_Gift::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_FriendList* uiConvenienceStoreMan::friend_list() { return GET_CAST_DIALOG(uiConvenienceStore_FriendList, uiConvenienceStore_FriendList::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_PopupPackage* uiConvenienceStoreMan::popup_package() { return GET_CAST_DIALOG(uiConvenienceStore_PopupPackage, uiConvenienceStore_PopupPackage::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_ItemDetail* uiConvenienceStoreMan::item_detail() { return GET_CAST_DIALOG(uiConvenienceStore_ItemDetail, uiConvenienceStore_ItemDetail::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_Ask* uiConvenienceStoreMan::ask() { return GET_CAST_DIALOG(uiConvenienceStore_Ask, uiConvenienceStore_Ask::kDialog_ID); } //------------------------------------------------------------------------------ uiConvenienceStore_CashType* uiConvenienceStoreMan::cashtype() { return GET_CAST_DIALOG(uiConvenienceStore_CashType, uiConvenienceStore_CashType::kDialog_ID); } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::Fill_TreeMenuInfo_SubCategory(BASE_TreeMenuInfo::Group_Type group_type, CShopList* shop_list, CShopCategory* category, BYTE menu0, BYTE menu1, BYTE menu2, BYTE menu3, int deapth) { if (category == NULL) { return; } bool is_res = false; BASE_TreeMenuInfo tree_menu_info; if (deapth == 0) { //菜单分类 is_res = TreeMenuInfoParser::Instance()->GetFirstTreeMenu(OUT tree_menu_info, BASE_TreeMenuInfo::kGroupType_CShop_Default_Root); } else { is_res = TreeMenuInfoParser::Instance()->GetFirstTreeMenu(OUT tree_menu_info, BASE_TreeMenuInfo::kGroupType_CShop_Default_Subject); } if (is_res == true) { tree_menu_info.tree_group = group_type; tree_menu_info.menu_depth[3] = menu0; tree_menu_info.menu_depth[2] = menu1; tree_menu_info.menu_depth[1] = menu2; tree_menu_info.menu_depth[0] = menu3; if (deapth == 0) { tree_menu_info.menu_type = BASE_TreeMenuInfo::kMenuType_Group; } else { tree_menu_info.menu_type = BASE_TreeMenuInfo::kMenuType_CheckButton; } tree_menu_info.menu_depth_width = deapth * 20; tree_menu_info.string_code = 0; //<确认 StrnCopy(tree_menu_info.string_name, category->CategroyName, BASE_TreeMenuInfo::kNameLength); tree_menu_info.user_data = category->ProductDisplaySeq; //reinterpret_cast(&category); TreeMenuInfoParser::Instance()->Insert(tree_menu_info); } int child_deapth = deapth + 1; if (child_deapth == 0) ++menu0; else if (child_deapth == 1) ++menu1; else if (child_deapth == 2) ++menu2; else if (child_deapth == 3) ++menu3; int sub_category_seq = 0; category->SetChildCategorySeqFirst(); while (category->GetChildCategorySeqNext(OUT sub_category_seq) == true) { CShopCategory* subcategory = NULL; if (shop_list->GetCategoryListPtr()->GetValueByKey(sub_category_seq, subcategory)) { Fill_TreeMenuInfo_SubCategory(group_type, shop_list, subcategory, menu0, menu1, menu2, menu3, child_deapth); } } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::Fill_TreeMenuInfo_RootCategory(BASE_TreeMenuInfo::Group_Type group_type, CShopList* shop_list, CShopCategory* shop_category, int& menu0, bool is_make_all_item) { #ifdef _NA_20120313_CASHSHOP_DISABLE_ALLITEM //不显示全部物品 is_make_all_item = false; #endif BASE_TreeMenuInfo root_menu_info; if (is_make_all_item && (TreeMenuInfoParser::Instance()->GetFirstTreeMenu(OUT root_menu_info, BASE_TreeMenuInfo::kGroupType_CShop_Default_Root) == true)) { root_menu_info.tree_group = group_type; root_menu_info.menu_depth[3] = menu0; root_menu_info.menu_depth[2] = 0; root_menu_info.menu_depth[1] = 0; root_menu_info.menu_depth[0] = 0; root_menu_info.menu_type = BASE_TreeMenuInfo::kMenuType_Group; root_menu_info.menu_depth_width = 0; root_menu_info.string_code = 155008; //<全部物品 root_menu_info.user_data = shop_category->ProductDisplaySeq; //reinterpret_cast(&shop_category); root_menu_info.user_parameter = 0; TreeMenuInfoParser::Instance()->Insert(root_menu_info); std::set image_tag_vector; image_tag_vector.clear(); ConvenienceStore::GetImageTag(shop_category, image_tag_vector); int sub_menu_depth = 0; int sub_menu_string_code = 0; int image_tag_type = 0; std::set::iterator begin = image_tag_vector.begin(); std::set::iterator end = image_tag_vector.end(); for (; begin != end; ++begin, ++sub_menu_depth) { //3.30.图像标签类型(ImageTagType) //1 680 NEW //2 681 HOT //3 682 SALE //4 683 EVENT image_tag_type = (*begin); switch (image_tag_type) { case 680: sub_menu_string_code = 155009; break; //155009 新商品 case 681: sub_menu_string_code = 155010; break; //155010 人气商品 case 682: sub_menu_string_code = 155011; break; //155011 打折 case 683: sub_menu_string_code = 155012; break; //155012 活动 default: continue; break; } //!子类别 TreeMenuInfoParser::Instance()->GetFirstTreeMenu(OUT root_menu_info, BASE_TreeMenuInfo::kGroupType_CShop_Default_Subject); root_menu_info.menu_depth[3] = 1; root_menu_info.menu_depth[2] = 1 + sub_menu_depth; root_menu_info.menu_depth[1] = 0; root_menu_info.menu_depth[0] = 0; root_menu_info.menu_type = BASE_TreeMenuInfo::kMenuType_CheckButton; root_menu_info.menu_depth_width = 20; root_menu_info.string_code = sub_menu_string_code; root_menu_info.user_data = shop_category->ProductDisplaySeq; root_menu_info.user_parameter = image_tag_type; TreeMenuInfoParser::Instance()->Insert(root_menu_info); } } int sub_category_seq = 0; shop_category->SetChildCategorySeqFirst(); while (shop_category->GetChildCategorySeqNext(OUT sub_category_seq)) { CShopCategory* shop_sub_category = NULL; if (shop_list->GetCategoryListPtr()->GetValueByKey(sub_category_seq, shop_sub_category)) { ++menu0; Fill_TreeMenuInfo_SubCategory(group_type, shop_list, shop_sub_category, menu0, //root_menu_info.menu_depth[3] + 1, 0, //root_menu_info.menu_depth[2], 0, //root_menu_info.menu_depth[1], 0, //root_menu_info.menu_depth[0], 0); } } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::Fill_TreeMenuInfo_Counter(CShopList* shop_list) { shop_list->GetCategoryListPtr()->SetFirst(); int index = 0; int menu0 = 1; CShopCategory* shop_category = NULL; while (shop_list->GetCategoryListPtr()->GetNext(shop_category)) { if (0 == shop_category->Root) { continue; } if (index == 0) { Fill_TreeMenuInfo_RootCategory(BASE_TreeMenuInfo::kGroupType_CShop_Cash, shop_list, shop_category, menu0, true); } else //if (index == 1) { Fill_TreeMenuInfo_RootCategory(BASE_TreeMenuInfo::kGroupType_CShop_Cash, shop_list, shop_category, menu0, false); } ++index; } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::Fill_TreeMenuInfo_MyPage() { BASE_TreeMenuInfo root_menu_info; if (TreeMenuInfoParser::Instance()->GetFirstTreeMenu(OUT root_menu_info, BASE_TreeMenuInfo::kGroupType_CShop_Default_Root) == true) { // 1. root_menu_info.tree_group = BASE_TreeMenuInfo::kGroupType_CShop_MyPage; root_menu_info.menu_depth[3] = 1; root_menu_info.menu_depth[2] = 0; root_menu_info.menu_depth[1] = 0; root_menu_info.menu_depth[0] = 0; root_menu_info.menu_type = BASE_TreeMenuInfo::kMenuType_None; root_menu_info.menu_depth_width = 0; root_menu_info.string_code = 155552; //< 155552 选购礼盒 root_menu_info.user_data = ConvenienceStore::Define::kMyPageType_BuyBox; root_menu_info.user_parameter = 0; //root_menu_info.image_code[BASE_TreeMenuInfo::kIconType_Collpase] = 10000; //root_menu_info.image_code[BASE_TreeMenuInfo::kIconType_Unfold] = 10001; root_menu_info.image_code[BASE_TreeMenuInfo::kIconType_Enable] = 10001; TreeMenuInfoParser::Instance()->Insert(root_menu_info); // 2. root_menu_info.menu_depth[3] = 2; root_menu_info.string_code = 155140; //< 155140 收到的礼物盒 root_menu_info.user_data = ConvenienceStore::Define::kMyPageType_RecvBox; TreeMenuInfoParser::Instance()->Insert(root_menu_info); } } void uiConvenienceStoreMan::OnStartReceiveStorageItem( bool bAllReceive, bool bIsMyItem ) { if( bIsMyItem == true ) { ask()->OpenAsk( counter(), uiConvenienceStore_Dialog::kAskShow_StorageBuy_AllRecv_Confirm ); ask()->AppendFText(g_InterfaceManager.GetInterfaceString( 155568 )); ask()->AppendFText(_T("---------------------------")); } else { ask()->OpenAsk( counter(), uiConvenienceStore_Dialog::kAskShow_StorageGift_AllRecv_Confirm ); ask()->AppendFText(g_InterfaceManager.GetInterfaceString( 155568 )); ask()->AppendFText(_T("---------------------------")); } } void uiConvenienceStoreMan::OnBeginWaiting() { // 155577 等待服务器响应 ask()->OpenAsk( counter(), uiConvenienceStore_Dialog::kAskShow_Message ); ask()->AppendFText( g_InterfaceManager.GetInterfaceString(155577) ); ask()->DisableCloseButton(); } void uiConvenienceStoreMan::OnEndWaiting() { ask()->uiBase::ShowInterface( FALSE ); } void uiConvenienceStoreMan::OnReceveStorageItem( LPCTSTR pMessage, bool bIsSuccess, bool bIsAllReceive, bool bIsMyItemReceive, bool bIsContinue ) { if( bIsSuccess == true ) { counter()->UpdatePage(); // 添加项目名称 ask()->AppendFText( pMessage ); if( bIsContinue == false ) { //155595 正在接收单品。 //155596 物品接收完成。 //155568 全部单品正在接收中。 //155569 完成接收全部物品。 ask()->AppendFText(_T("---------------------------")); ask()->AppendFText(g_InterfaceManager.GetInterfaceString( bIsAllReceive ? 155569 : 155596)); //已完成,启用关闭按钮 ask()->EnableCloseButton(); } } else { // 添加错误代码 ask()->AppendFText( pMessage ); //155596 物品接收完成。 //155597 接收物品中止。 ask()->AppendFText(_T("---------------------------")); ask()->AppendFText(g_InterfaceManager.GetInterfaceString(155597)); ask()->EnableCloseButton(); } } void uiConvenienceStoreMan::OnResultNameCheck( bool bSuccess, LPCTSTR name, LEVELTYPE level, LPCTSTR guild_name ) { if( bSuccess == true ) { gift()->CheckOk( name, level, guild_name ); } else { gift()->CheckFail(); } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::NetworkProc(MSG_BASE* pk) { #ifdef _NA_0_20110613_GAME_SHOP_RENEWAL ConvenienceStore::CashShop::NetworkProc(pk); #endif //_NA_0_20110613_GAME_SHOP_RENEWAL } void uiConvenienceStoreMan::RegisterTooltip(ConvenienceStore::ShopItemObject* pObject) { if( pObject->IsStorageItem() ) { ConvenienceStore::StorageItem* pItemData = (ConvenienceStore::StorageItem*)pObject; RegisterTooltip( &(pItemData->GetProductInfo()), 0 ); } else if( pObject->IsProduct() ) { RegisterTooltip( (ConvenienceStore::ProductItem*)pObject ); } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::RegisterTooltip(ConvenienceStore::ProductInfo* product_info, DWORD64 wztime64) { if (product_info == NULL) { return; } uiToolTipMan* man = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if (man == NULL) { return; } man->RegisterTooltipItemForCashShop(product_info->GetItemInfo()->m_Code, 0, wztime64, product_info->GetInchantProperty().GetValue(), product_info->GetSellProperty().GetValue()); man->SetTooltipDialogID(0); } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::RegisterTooltip(ConvenienceStore::ProductItem* product) { if (product == NULL) { return; } DWORD64 wztime64 = 0; util::GetDateTime_YYYYMMDDHHMMSS(product->GetShopPackage()->EndDate.tm_year + 1900, product->GetShopPackage()->EndDate.tm_mon + 1, product->GetShopPackage()->EndDate.tm_mday, product->GetShopPackage()->EndDate.tm_hour, product->GetShopPackage()->EndDate.tm_min, product->GetShopPackage()->EndDate.tm_sec, OUT wztime64); if (product->is_package()) { } else { if (product->is_lotto()) { uiToolTipMan* man = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if (man != NULL) { man->RegisterTooltipItemForCashShopForLotto(product->GetName(), product->GetDescription(), product->GetCautionText(), wztime64, true); man->SetTooltipDialogID(0); } } else { RegisterTooltip(product->first_info(), wztime64); } } } //------------------------------------------------------------------------------ void uiConvenienceStoreMan::RegisterTooltip(SLOTCODE item_code) { uiToolTipMan* man = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if (man != NULL) { man->RegisterTooltipItemForCashShop(item_code, 0, 0, 0, //m_ItemCodeForTooltip.byEnchant, 0); //m_ItemCodeForTooltip.byRank); man->SetTooltipDialogID(0); } } bool uiConvenienceStoreMan::IsShowShop() { return counter()->IsVisible() != FALSE; } void _OnKeyInputEscape(DWORD wParam,DWORD lParam) { ConvenienceStore::CashShop::instance()->HideCashShop(); } void uiConvenienceStoreMan::OnShowCashShop() { //------------------------------------------------------------------------------ keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = uiConvenienceStore_Counter::kDialog_ID; msg.wParam = uiConvenienceStore_Counter::kDialog_ID; msg.DoSomething = _OnKeyInputEscape; g_KeyQueueManager.PushBack(msg); //------------------------------------------------------------------------------ counter()->PlayOpenDialogSound(); counter()->ShowInterface( TRUE ); if( is_open_with_gift_menu_ == true ) { counter()->ChangeTabMenu(ConvenienceStore::Define::kShopMenuType_Mypage, true); is_open_with_gift_menu_ = false; } else { counter()->ChangeTabMenu(ConvenienceStore::Define::kShopMenuType_Cash, false); } basket()->ShowInterface(TRUE); } void uiConvenienceStoreMan::OnHideCashShop() { g_KeyQueueManager.DeleteMsg(uiConvenienceStore_Counter::kDialog_ID); g_InterfaceManager.UnLockDlgs(); popup_menu_five()->uiConvenienceStore_PopupMenu::ShowInterface(FALSE); popup_menu_three()->uiConvenienceStore_PopupMenu::ShowInterface(FALSE); popup_menu_four()->uiConvenienceStore_PopupMenu::ShowInterface(FALSE); popup_menu_two()->uiConvenienceStore_PopupMenu::ShowInterface(FALSE); popup_package()->uiConvenienceStore_PopupMenu::ShowInterface(FALSE); purchase()->uiConvenienceStore_Dialog::ShowInterface(FALSE); confirm()->uiConvenienceStore_Dialog::ShowInterface(FALSE); gift()->uiConvenienceStore_Dialog::ShowInterface(FALSE); friend_list()->ShowInterface(FALSE); item_detail()->uiConvenienceStore_Dialog::ShowInterface(FALSE); ask()->uiBase::ShowInterface(FALSE); counter()->PlayCloseDialogSound(); counter()->ShowInterface(FALSE); basket()->ShowInterface(FALSE); } void uiConvenienceStoreMan::OnUpdateCash() { basket()->UpdateCashInfo(); confirm()->UpdateCashInfo(); } void uiConvenienceStoreMan::OnUpdateStorageBuyList() { if (counter()->IsMyStoragePage() ) counter()->UpdatePage(); } void uiConvenienceStoreMan::OnUpdateStorageGiftList() { if (counter()->IsGiftStoragePage() ) counter()->UpdatePage(); } void uiConvenienceStoreMan::OnSuccessBuyItem( ShopItemInfoEx* pItemInfo, uint ItemCount ) { confirm()->ShowInterface(true, uiConvenienceStore_Purchase::kPurchase_Buy, pItemInfo, ItemCount ); counter()->ChangeTabMenu( ConvenienceStore::Define::kShopMenuType_Mypage, false ); } void uiConvenienceStoreMan::OnSuccessGiftItem( ShopItemInfoEx* pItemInfo, uint ItemCount ) { confirm()->ShowInterface(true, uiConvenienceStore_Purchase::kPurchase_Gift, pItemInfo, ItemCount ); } void uiConvenienceStoreMan::OnUpdateShopItemList() { TreeMenuInfoParser::Instance()->Remove(BASE_TreeMenuInfo::kGroupType_CShop_Cash); TreeMenuInfoParser::Instance()->Remove(BASE_TreeMenuInfo::kGroupType_CShop_PPCard); TreeMenuInfoParser::Instance()->Remove(BASE_TreeMenuInfo::kGroupType_CShop_Mileage); TreeMenuInfoParser::Instance()->Remove(BASE_TreeMenuInfo::kGroupType_CShop_MyPage); // TreeMenuInfoParser重新更新 Fill_TreeMenuInfo_Counter( GetShopListManager()->GetListPtr() ); Fill_TreeMenuInfo_MyPage(); //------------------------------------------------------------------------------ uiToolTipMan* man = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if (man != NULL) { man->InitTooltip(); } if (g_pHero != NULL) { g_pHero->GetHeroEquipContainer()->m_iTooltipStringCode = 0; } BuildAllProductItemList(); } void uiConvenienceStoreMan::BuildAllProductItemList() { ConvenienceStore::CashShop::GetProductItemData().ClearProductMap(); GetShopListManager()->GetListPtr()->GetCategoryListPtr()->SetFirst(); CShopCategory* shop_category = NULL; while (GetShopListManager()->GetListPtr()->GetCategoryListPtr()->GetNext(shop_category)) { ConvenienceStore::CashShop::GetProductItemData()._FillProductMap(shop_category); } }