189 lines
7.2 KiB
C++
189 lines
7.2 KiB
C++
#pragma once
|
|
|
|
#include <slm/IncludeSLM.h>
|
|
|
|
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<int>& 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);
|
|
}
|