using System; using System.Collections.Generic; using MessagePack; #if GameClient using GameFramework; #else using Server.Core; #endif namespace GameMessage { [Message(MessageCode.DiamondMallDataRequest)] [MessagePackObject] public class DiamondMallDataRequest : MessageData { /// /// 数据版本 /// [Key(0)] public long Ver; /// /// 商城类型 默认0 /// [Key(1)] public int MallType; /// /// App商城类型 /// [Key(2)] public int AppStoreType; #if GameClient public static DiamondMallDataRequest Create(long ver,int appStoreType) { DiamondMallDataRequest self = ReferencePool.Acquire(); self.Ver = ver; self.AppStoreType = appStoreType; return self; } public override void Clear() { } #endif } [Message(MessageCode.DiamondMallDataResponse)] [MessagePackObject] public class DiamondMallDataResponse : MessageData { [Key(0)] public long Ver; [Key(1)] public List Products; } /// /// 钻石商品 - 需要充值获得 /// [MessagePackObject] public class DiamondProduct { /// /// 商品id /// [Key(0)] public int Id; /// /// 平台的商品id /// [Key(1)] public string PlatProductId; /// /// 商品名称 /// [Key(2)] public string Name; /// /// 商品价格 /// [Key(3)] public int Price; /// /// 获得的主体资源 /// [Key(4)] public ResData[] Packages; /// /// 赠送的资源 /// [Key(5)] public ResData[] Gift; /// /// 描述 /// [Key(6)] public string Desc; } [Message(MessageCode.ExchangeMallDataRequest)] [MessagePackObject] public class ExchangeMallDataRequest : MessageData { /// /// 数据版本 /// [Key(0)] public long Ver; /// /// 商城类型 0全部 1金币 2道具 3活动 /// [Key(1)] public int MallType; /// /// App商城类型 /// [Key(2)] public int AppStoreType; #if GameClient public static ExchangeMallDataRequest Create(long ver, int mallType,int appStoreType) { ExchangeMallDataRequest self = ReferencePool.Acquire(); self.Ver = ver; self.MallType = mallType; self.AppStoreType = appStoreType; return self; } public override void Clear() { } #endif } [Message(MessageCode.ExchangeMallDataResponse)] [MessagePackObject] public class ExchangeMallDataResponse : MessageData { [Key(0)] public long Ver; [Key(1)] public List Products; } /// /// 兑换商品 - 使用物品兑换获得 /// [MessagePackObject] public class ExchangeProduct { /// /// 商品id /// [Key(0)] public int Id; /// /// 商品名称 /// [Key(1)] public string Name; /// /// 商城类型 1金币 2道具 3活动(用于区分商品所属类型) /// [Key(2)] public int MallType; /// /// 需要消耗的物品列表 /// [Key(3)] public ResData[] SourceItems; /// /// 兑换获得的物品列表 /// [Key(4)] public ResData[] TargetItems; /// /// 描述 /// [Key(5)] public string Desc; } /// /// 兑换商城兑换请求 /// [Message(MessageCode.ExchangeMallRequest)] [MessagePackObject] public class ExchangeMallRequest : MessageData { /// /// 兑换商品Id /// [Key(0)] public int ProductId; /// /// 兑换数量 /// [Key(1)] public int Count; #if GameClient public static ExchangeMallRequest Create(int productId,int count = 1) { ExchangeMallRequest self = ReferencePool.Acquire(); self.ProductId = productId; self.Count = count; return self; } public override void Clear() { } #endif } /// /// 兑换商城兑换响应 /// [Message(MessageCode.ExchangeMallResponse)] [MessagePackObject] public class ExchangeMallResponse : MessageData { /// /// 兑换商品Id /// [Key(0)] public int ProductId; /// /// 兑换数量 /// [Key(1)] public int Count; /// /// 结果码 0成功 /// [Key(2)] public int ResultCode; #if Server public static ExchangeMallResponse Create(int productId,int count) { ExchangeMallResponse self = ReferencePool.Fetch(); self.ProductId = productId; self.Count = count; return self; } public override void Dispose() { ReferencePool.Recycle(this); } #endif } }