using System.ComponentModel; using System.Collections.Generic; using System; using LitJson; using ProtoCSStruct; using Sog; namespace Operation { public class ObjectUtils { public static JsonData parseToJson(RoleBaseInfo baseInfo) { JsonData json = new JsonData(); json["uid"] = baseInfo.Uid; json["world_id"] = baseInfo.RealmName.ToString(); json["nick"] = baseInfo.Nick.ToString(); json["level"] = baseInfo.Level; json["gender"] = baseInfo.Gender; json["icon_frame_id"] = baseInfo.IconFrameId; json["icon"] = baseInfo.Icon.ToString(); json["selfProfession"] = baseInfo.SelfProfession; json["integral"] = baseInfo.Integral; json["chat_black_time"] = baseInfo.ChatBlackTime; return json; } public static JsonData parseToJson(DBActInfo pb) { JsonData json = new JsonData(); json["activity_id"] = pb.ActID; json["open_time"] = pb.OpenTime; json["state"] = pb.State; return json; } public static JsonData parseToJson(DBPopupGift pb) { JsonData json = new JsonData(); json["Type"] = pb.Type; json["ConditionType"] = pb.ConditionType; json["ConditionValue"] = pb.ConditionValue.ToString(); json["SpecialIndex"] = pb.SpecialIndex; json["GiftList"] = pb.GiftList.ToString(); json["index"] = pb.Index; json["ShowCount"] = pb.ShowCount; json["Time"] = pb.Time; json["AllValue"] = pb.AllValue; json["EndShowTime"] = pb.EndShowTime; json["coustTime"] = pb.CoustTime; return json; } public static JsonData parseToJson(DBRolePayItemRecord pb) { JsonData json = new JsonData(); json["ItemId"] = pb.ItemId; json["EndTime"] = pb.EndTime; json["ItemId"] = pb.LastUpdateRecordTime; json["PayCountMonth"] = pb.PayCountMonth; json["PaySuccessCount"] = pb.PaySuccessCount; json["PayCountToday"] = pb.PayCountToday; json["VersionCode"] = pb.VersionCode; return json; } public static JsonData parseToJson(DBHomeAd homeAd) { JsonData json = new JsonData(); json["AdId"] = homeAd.AdvToken.ToString(); json["TodayTotalGetCount"] = homeAd.TodayTotalGetCount.ToString(); json["NextTime"] = homeAd.NextTime; json["AdType"] = homeAd.AdvId; JsonData ads = new JsonData(); for (int i = 0; i < homeAd.Infos.Count; i++) { var ad = homeAd.Infos[i]; JsonData adj = new JsonData(); adj["Id"] = ad.Id; adj["GetCount"] = ad.GetCount; adj["ColdTime"] = ad.ColdTime; ads.Add(adj); } json["infos"] = ads; return json; } public static JsonData parseToJson(DBEquipment equipment) { JsonData json = new JsonData(); json["SerialNum"] = equipment.SerialNum; json["DescId"] = equipment.DescId ; json["Level"] = equipment.Level; json["AddProp"] = equipment.AddProp.ToString(); json["Quality"] = equipment.Quality; json["Pos"] = equipment.Pos; return json; } public static JsonData parseToJson(DBHero dBHero) { JsonData json = new JsonData(); json["DescId"] = dBHero.DescId; json["SerialNum"] = dBHero.SerialNum; json["Level"] = dBHero.Level; json["Exp"] = dBHero.Exp; JsonData eqs = new JsonData(); for (int i = 0; i < dBHero.WearEquip.Count; i++) { eqs.Add(parseToJson(dBHero.WearEquip[i])); } json["WearEquip"] = eqs; //json["ShowEquip"] = dBHero.ShowEquip.ToString(); return json; } public static JsonData parseToJson(DBPandoraBag bag) { JsonData json = new JsonData(); for (int i = 0; i < bag.ItemList.Count; i++) { var itemId = bag.ItemList[i].Id ; var count = bag.ItemList[i].Count; if (count == 0) { continue; } JsonData data = new JsonData(); var itemConfig = ItemDescMgr.Instance.GetConfigByInternal(itemId); if (itemConfig == null) { continue; } data["itemId"] = itemConfig.itemID; data["count"] = (int)count; string nameKey = "ItmN_" + itemConfig.itemID; var langDesc = LanguageDescMgr.Instance.GetConfig(nameKey); if (langDesc != null) { nameKey = langDesc.ZH; } data["name"] = nameKey; json.Add(data); } return json; } public static JsonData parseToJson(DBRolePayData payData) { JsonData json = new JsonData(); JsonData PayItemRecord = new JsonData(); for (int i = 0; i < payData.PayItemRecord.Count; i++) { JsonData record = new JsonData(); record["ItemId"] = payData.PayItemRecord[i].ItemId; record["PaySuccessCount"] = payData.PayItemRecord[i].PaySuccessCount; record["PayCountToday"] = payData.PayItemRecord[i].PayCountToday; record["VersionCode"] = payData.PayItemRecord[i].VersionCode; record["PayCountWeek"] = payData.PayItemRecord[i].PayCountWeek; record["PayCountMonth"] = payData.PayItemRecord[i].PayCountMonth; record["EndTime"] = payData.PayItemRecord[i].EndTime; record["LastUpdateRecordTime"] = payData.PayItemRecord[i].LastUpdateRecordTime; PayItemRecord.Add(record); } json["PayItemRecord"] = PayItemRecord; JsonData SuccWaits = new JsonData(); for (int i = 0; i < payData.PaySuccWaitAddRole.Count; i++) { JsonData SuccWait = new JsonData(); SuccWait["Amount"] = payData.PaySuccWaitAddRole[i].Amount; SuccWait["OrderId"] = payData.PaySuccWaitAddRole[i].OrderId.GetString(); SuccWait["IsPlayerFirstPay"] = payData.PaySuccWaitAddRole[i].IsPlayerFirstPay; SuccWait["Money"] = payData.PaySuccWaitAddRole[i].Money; SuccWait["LastSendDBTime"] = payData.PaySuccWaitAddRole[i].LastSendDBTime; SuccWait["DbResFailCount"] = payData.PaySuccWaitAddRole[i].DbResFailCount; SuccWait["OrderId3rd"] = payData.PaySuccWaitAddRole[i].OrderId3rd.GetString(); SuccWait["PayType"] = payData.PaySuccWaitAddRole[i].PayType; SuccWait["IsTestPay"] = payData.PaySuccWaitAddRole[i].IsTestPay; SuccWait["PayTime3rd"] = payData.PaySuccWaitAddRole[i].PayTime3rd; SuccWait["Currency"] = payData.PaySuccWaitAddRole[i].Currency.GetString(); SuccWait["AddItemSuccTime"] = payData.PaySuccWaitAddRole[i].AddItemSuccTime; SuccWait["PurchaseToken"] = payData.PaySuccWaitAddRole[i].PurchaseToken.GetString(); SuccWait["AmountExchange"] = payData.PaySuccWaitAddRole[i].AmountExchange; SuccWait["DiamondExchange"] = payData.PaySuccWaitAddRole[i].DiamondExchange; SuccWait["IsReplaceItem"] = payData.PaySuccWaitAddRole[i].IsReplaceItem; SuccWait["Sandbox"] = payData.PaySuccWaitAddRole[i].Sandbox; SuccWaits.Add(SuccWait); } json["PaySuccWaitAddRole"] = SuccWaits; json["LastSendDBAddDiamondTime"] = payData.LastSendDBAddDiamondTime; json["LastVipRewardWeek"] = payData.LastVipRewardWeek; json["MaxPayMoneyLast7Days"] = payData.MaxPayMoneyLast7Days.ToString(); json["LastUpdateMaxPayMoneyTime"] = payData.LastUpdateMaxPayMoneyTime; json["LastPaySuccFirstPayItemVersion"] = payData.LastPaySuccFirstPayItemVersion; json["TodayPayDiamond"] = payData.TodayPayDiamond; JsonData cards = new JsonData(); for (int i = 0; i < payData.MonthlyCard.Count; i++) { JsonData card = new JsonData(); card["CardType"] = payData.MonthlyCard[i].CardType; card["ExpireTime"] = payData.MonthlyCard[i].ExpireTime; card["LastRewardTime"] = payData.MonthlyCard[i].LastRewardTime; card["IsTimeOutCard"] = payData.MonthlyCard[i].IsTimeOutCard; cards.Add(card); } json["MonthlyCard"] = cards; return json; } public static JsonData parseToJson(DBTaskEXData taskExData) { JsonData taskList = new JsonData(); for (int i = 0; i < taskExData.TaskList.Count; i++) { var task = taskExData.TaskList[i]; var taskDesc = QuestEXDescMgr.Instance.GetConfig(task.TaskId); if (taskDesc == null) { continue; } var lang = LanguageDescMgr.Instance.GetConfig(taskDesc.questDescription); string name = taskDesc.questDescription; if (lang != null) { name = lang.ZH; } JsonData data = new JsonData(); data["TaskId"] = task.TaskId; data["Status"] = task.Status; data["Name"] = name; data["Condition"] = task.Condition.ToString(); data["PickupTime"] = task.PickupTime; taskList.Add(data); } return taskList; } public static JsonData parseToJson(DBSysUnlockData unlockData) { JsonData taskList = new JsonData(); foreach (var va in UnlockSystemDescMgr.Instance.ItemTable) { var desc = va.Value; var descId = desc.id; var unlockTime = ""; for (int i = 0; i < unlockData.SysUnlockDataOne.Count; i++) { var one = unlockData.SysUnlockDataOne[i]; if (one.SysID == descId) { unlockTime = AppTime.ConvertUnixTimeToString(one.SysUnlockTime); break; } } //CoreHelper.GetSequenceCheckIndex(descId, out int index, out int byteIndex); //var unlock = CoreHelper.CheckInSequence(byteIndex, unlockData.Check[index]); var isLock = unlockTime != "" ? "已解锁" : "未解锁"; JsonData data = new JsonData(); data["Id"] = desc.id; data["state"] = isLock; data["unlockTime"] = unlockTime; taskList.Add(data); } return taskList; } public static JsonData parseToJson(RepeatedDBJobData_16 jobs) { JsonData taskList = new JsonData(); for (var i = 0; i < jobs.Count; i++) { var job = jobs[i]; JsonData data = new JsonData(); data["Id"] = job.Id; data["Type"] = job.Type; data["TryRet"] = job.TryRet; data["Args"] = job.Args.ToString(); data["StartTime"] = AppTime.ConvertUnixTimeToString(job.StartTime); data["EndTime"] = AppTime.ConvertUnixTimeToString(job.EndTime); taskList.Add(data); } return taskList; } } }