#pragma once #include namespace ConvenienceStore { class PropertyInfo; class ProductInfo; class ProductItem; class PurchaseItem; namespace Define { enum ShopStringCode { kShopStringCode_AllItem = 2500, kShopStringCode_Armor = 2503, kShopStringCode_Skin = 2513, kShopStringCode_Customize = 2523, kShopStringCode_Item = 2527, kShopStringCode_Pet = 2535, kShopStringCode_Rider = 2539, kShopStringCode_Filter_Cash = 2544, kShopStringCode_Filter_ALL = 2544, kShopStringCode_Filter_Berserker = 2545, kShopStringCode_Filter_Dragon = 11385, //2546, kShopStringCode_Filter_Shadow = 2549, kShopStringCode_Filter_Valkyrie = 2547, kShopStringCode_Filter_Magician = 11384,//2548, kShopStringCode_Filter_Mystic = 2568, //_NA_004965_20120613_NEW_CHARACTER_MYSTIC #ifdef _NA_000000_20130812_NEW_CHARACTER_HELLROID kShopStringCode_Filter_Hellroid = 2569, #endif //_NA_000000_20130812_NEW_CHARACTER_HELLROID #ifdef _NA_007514_20140828_NEW_CHARACTER_WITCHBLADE kShopStringCode_Filter_WitchBladae = 10008, #endif //_NA_007514_20140828_NEW_CHARACTER_WITCHBLADE kShopStringCode_Filter_Package = 2550, //排序 kShopStringCode_Filter_Sort = 2557, kShopStringCode_Filter_New_Inc = 2557, kShopStringCode_Filter_New_Desc = 2558, kShopStringCode_Filter_Hit_Desc = 2559, kShopStringCode_Filter_Price_Inc = 2561, kShopStringCode_Filter_Price_Desc = 2560, kShopStringCode_Filter_Name_Inc = 2562, kShopStringCode_Filter_Name_Desc = 2563, kShopStringCode_Filter_Date_Inc = 2564, kShopStringCode_Filter_Date_Desc = 2565, kShopStringCode_Filter_End = 2565, kShopStringCode_Shop_Popup_Pickup = 155527, kShopStringCode_Shop_Popup_Preview = 155528, kShopStringCode_Shop_Popup_Buy = 155530, kShopStringCode_Shop_Popup_Gift = 155529, //155554 信息 kShopStringCode_Shop_Popup_Msg = 155554, kShopStringCode_Shop_Popup_Recv = 155555, kShopStringCode_Basket_Popup_Buy = 155530, kShopStringCode_Basket_Popup_Gift = 155529, kShopStringCode_Basket_Popup_Equip = 155532, kShopStringCode_Basket_Popup_Unequip = 155531, kShopStringCode_Basket_Popup_Delete = 155533, kShopStringCode_Basket_Popup_Preview = 155528, //!<预览 kShopStringCode_End = 2563 }; //菜单种类 enum ShopMenuType { kShopMenuType_Cash = 0, kShopMenuType_PPCard, kShopMenuType_Mileage, kShopMenuType_Mypage, kShopMenuType_Size, }; enum MyPageType { kMyPageType_BuyBox = 0, //!<我购买的目录 kMyPageType_RecvBox, //!<收到礼品清单 kMyPageType_Size, }; enum PopupMenuKind { kPopupMenuKind_Two = 0, kPopupMenuKind_Three, kPopupMenuKind_Four, kPopupMenuKind_Five, kPopupMenuKind_Size, }; //------------------------------------------------------------------------------ enum CashType { kCashType_Cash = 0, kCashType_PPCard, kCashType_Mileage, kCashType_Size, }; enum ShopPropertyType { kShopProperty_Price = 0, //7 kShopProperty_SellKind, //111 kShopProperty_Inchant, //114 kShopProperty_Socket, //117 kShopProperty_Size, }; enum ShopProductType { kShopProduct_Waste = 0, //138 // 消耗性 kShopProduct_Infinite, //139 // 永久性 kShopProduct_Date, //140 //期限 kShopProduct_Size, }; //------------------------------------------------------------------------------ //138 使用项目111 sun -默认属性146选择141项目属性 //138 选择小道具114 {\ displaystyle 114}属性 //138 使用项目117 sun - socket 146选择141项目属性 //139 永久项目112 sun -默认属性146选择141项目属性 //139 永久物品115魔咒146选择141物品属性 //139 永久项目118 sun - socket 146选择141项目属性 //140 选择期限项目113 sun -基本属性146 //140 选择时间道具116魔咒146 141道具属性 //140 期限项目119 sun - socket 146选择141项目属性 //消耗数量property_seq = 7 //永久性数property_seq = 8 //期间日期 property_seq = 10,数量9 static const int kProductType[kShopProduct_Size] = {138, 139, 140}; static const int kPropertySeq_Waste[kShopProperty_Size] = {7, 111, 114, 117}; static const int kPropertySeq_Infinite[kShopProperty_Size] = {8, 112, 115, 118}; static const int kPropertySeq_Date[kShopProperty_Size] = {10, 113, 116, 119}; static const int kPropertyType_Price = 142; //!<项目价格类型 static const int kPropertyType_Attribute = 141; //!<项目属性类型 static const int kCapsuleFlag_Normal = 177; //!<普通商品 static const int kCapsuleFlag_Lotto = 176; //!<抽奖商品 } Define::ShopProductType GetProductType(IN CShopProduct* const shop_product); //!只允许单一商品。 bool FindShopProduct(CShopPackage* shop_package, int price_seq, OUT CShopProduct*& shop_product, OUT CShopProductLink*& shop_product_link); //------------------------------------------------------------------------------ bool GetDisplayPriceStringByProduct(TCHAR* msg, int str_len, ProductItem* product); bool GetDisplayPriceStringByProductInfo(TCHAR* msg, int str_len, ProductInfo* product_info, bool buy_mileage); bool GetDisplayPriceStringByProductLink(TCHAR* msg, int str_len, Define::ShopProductType shop_product_type, CShopProductLink* shop_product_link, bool buy_mileage); //------------------------------------------------------------------------------ CShopCategoryList* category_list(); CShopPackageList* package_list(); CShopProductList* product_list(); CShopPropertyList* property_list(); CShopProductLinkList* productlink_list(); //------------------------------------------------------------------------------ //! Returns: void //! Qualifier: 检查所有包在对应的目录,看看是否有热门的,新的,出售,事件。 //! Parameter: CShopCategory * category //! Parameter: DWORD new_val //1 680 NEW //! Parameter: DWORD hot_val //2 681 HOT //! Parameter: DWORD sale_val //3 682 SALE //! Parameter: DWORD event_val //4 683 EVENT //------------------------------------------------------------------------------ void GetImageTag(CShopCategory* shop_category, std::set& image_tag_vector); void test_shop_script_list(); void test_shop_script_list_category(FILE* fp, CShopCategory &category, int deapth); void test_shop_script_list_package(FILE* fp, CShopCategory &subcategory, int deapth); }