public void ResetMailList(CliProto.SC_MAIL_LIST_NTF msg) { m_MailList.Clear(); CliProto.SC_MAIL_LIST_NTF refMSG = msg; int iCount = refMSG.m_List.m_Count; for (int i = 0; i < iCount; i++) { UInt64 uuDBID = refMSG.m_List.m_Mails[i].m_UniqueID; if (uuDBID != UInt64.MaxValue) { HeaderProto.SMailDetail info = new HeaderProto.SMailDetail(); info.m_Type = refMSG.m_List.m_Mails[i].m_Type; /// 邮件类型.. info.m_UniqueID = refMSG.m_List.m_Mails[i].m_UniqueID; /// 邮件唯一id.. info.m_Money = refMSG.m_List.m_Mails[i].m_Money; /// 金钱.. info.m_SendTime = refMSG.m_List.m_Mails[i].m_SendTime; /// 发送时间.. info.m_ReadTime = refMSG.m_List.m_Mails[i].m_ReadTime; /// 阅读时间.. info.m_Sender = refMSG.m_List.m_Mails[i].m_Sender; /// 发件人姓名.. info.m_Receiver = refMSG.m_List.m_Mails[i].m_Receiver; /// 收件人姓名.. info.m_Title = refMSG.m_List.m_Mails[i].m_Title; /// 标题.. info.m_Content = refMSG.m_List.m_Mails[i].m_Content; /// 内容.. info.m_ItemCount = refMSG.m_List.m_Mails[i].m_ItemCount; /// 物品数量.. for (int j = 0; j < info.m_ItemCount; j++) { HeaderProto.SXITEM item = new HeaderProto.SXITEM(); info.m_Items[j] = item; info.m_Items[j].m_UID = refMSG.m_List.m_Mails[i].m_Items[j].m_UID; info.m_Items[j].m_TID = refMSG.m_List.m_Mails[i].m_Items[j].m_TID; info.m_Items[j].m_UP = refMSG.m_List.m_Mails[i].m_Items[j].m_UP; info.m_Items[j].m_CT = refMSG.m_List.m_Mails[i].m_Items[j].m_CT; info.m_Items[j].m_EXP = refMSG.m_List.m_Mails[i].m_Items[j].m_EXP; info.m_Items[j].m_LK = refMSG.m_List.m_Mails[i].m_Items[j].m_LK; info.m_Items[j].m_GEMCount = refMSG.m_List.m_Mails[i].m_Items[j].m_GEMCount; for (int k = 0; k < info.m_Items[j].m_GEMCount; k++) { HeaderProto.SXGEM gem = new HeaderProto.SXGEM(); info.m_Items[j].m_GEM[k] = gem; info.m_Items[j].m_GEM[k].m_TID = refMSG.m_List.m_Mails[i].m_Items[j].m_GEM[k].m_TID; } } m_MailList[uuDBID] = info; } } }
// 创建角色装备属性表aa protected Hashtable CreateItemPropertyTable(CliProto.SC_ROLE_EQUIP_NTF kItemInfoNtf) { Hashtable kTable = new Hashtable(); for (int i = 0; i < kItemInfoNtf.m_Items.m_ItemCount; ++i) { HeaderProto.SXITEM kItemInfo = kItemInfoNtf.m_Items.m_Items[i]; sdGameItem kItem = new sdGameItem(); kItem.templateID = kItemInfo.m_TID; kItem.instanceID = kItemInfo.m_UID; kItem.bagIndex = 0; kItem.count = kItemInfo.m_CT; kItem.upExp = kItemInfo.m_EXP; kItem.upLevel = kItemInfo.m_UP; kItem.gemNum = kItemInfo.m_GEMCount; kItem.gemList = new int[kItemInfo.m_GEMCount]; for (int j = 0; j < kItemInfo.m_GEMCount; ++j) { kItem.gemList[j] = kItemInfo.m_GEM[j].m_TID; } Hashtable kItemBaseInfo = sdConfDataMgr.Instance().GetItemById(kItemInfo.m_TID.ToString()); if (kItemBaseInfo != null) { kItem.mdlPath = kItemBaseInfo["Filename"].ToString(); kItem.mdlPartName = kItemBaseInfo["FilePart"].ToString(); kItem.anchorNodeName = sdGameActor.WeaponDummy(kItemBaseInfo["Character"].ToString()); kItem.itemClass = int.Parse(kItemBaseInfo["Class"].ToString()); kItem.subClass = int.Parse(kItemBaseInfo["SubClass"].ToString()); kItem.level = int.Parse(kItemBaseInfo["NeedLevel"].ToString()); kItem.quility = int.Parse(kItemBaseInfo["Quility"].ToString()); kItem.equipPos = int.Parse(kItemBaseInfo["Character"].ToString()); } kTable[kItemInfo.m_UID] = kItem; } return(kTable); }
public sdGameItem createItem(HeaderProto.SXITEM itemInfo, int bagIndex) { bool isUpdate = false; sdGameItem item = getItem(itemInfo.m_UID); if (item == null) { item = new sdGameItem(); } else { isUpdate = true; } //item.slotIndex = GetAllItem(bagIndex,-1).Count; itemDB[itemInfo.m_UID] = item; item.templateID = itemInfo.m_TID; item.instanceID = itemInfo.m_UID; item.bagIndex = bagIndex; item.count = itemInfo.m_CT; item.upExp = itemInfo.m_EXP; item.upLevel = itemInfo.m_UP; int gemNum = itemInfo.m_GEMCount; item.gemNum = gemNum; item.gemList = new int[gemNum]; for (int i = 0; i < gemNum; ++i) { item.gemList[i] = itemInfo.m_GEM[i].m_TID; } Hashtable info = sdConfDataMgr.Instance().GetItemById(itemInfo.m_TID.ToString()); if (info != null) { item.mdlPath = info["Filename"].ToString(); item.mdlPartName = info["FilePart"].ToString(); item.anchorNodeName = sdGameActor.WeaponDummy(info["Character"].ToString()); item.itemClass = int.Parse(info["Class"].ToString()); item.subClass = int.Parse(info["SubClass"].ToString()); item.level = int.Parse(info["Level"].ToString()); item.quility = int.Parse(info["Quility"].ToString()); item.equipPos = int.Parse(info["Character"].ToString()); item.suitId = int.Parse(info["SuitID"].ToString()); if (isUpdate) { bool toLock = (itemInfo.m_LK == 1 ? true : false); if (toLock != item.isLock) { if (toLock) { sdUICharacter.Instance.ShowMsgLine(string.Format("[{0}]{1}", info["ShowName"].ToString(), sdConfDataMgr.Instance().GetShowStr("HasLock")), Color.yellow); } else { sdUICharacter.Instance.ShowMsgLine(string.Format("[{0}]{1}", info["ShowName"].ToString(), sdConfDataMgr.Instance().GetShowStr("HasUnLock")), Color.yellow); } } } } item.isLock = itemInfo.m_LK == 1 ? true : false; item.isFormulaItem = sdConfDataMgr.Instance().CanItemLevelUp(item.templateID.ToString()); if (bagIndex == (int)PanelType.Panel_Equip) { sdMainChar mc = sdGameLevel.instance.mainChar; if (mc != null) { item.takeOn(mc); } } item.score = sdConfDataMgr.Instance().GetItemScore(itemInfo.m_UID); // sdItemDesc desc = sdCSVMgr.instance.getItemInfo(item.templateID); // item.mdlPath = desc.mdlPath; // //... // return(item); }
public void UpdateMailList(HeaderProto.MAIL_LIST mailList) { if (mailList.m_Count > 0) { for (int i = 0; i < mailList.m_Count; i++) { UInt64 uuMailID = mailList.m_Mails[i].m_UniqueID; if (m_MailList[uuMailID] != null) { ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Type = mailList.m_Mails[i].m_Type; /// 邮件类型.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_UniqueID = mailList.m_Mails[i].m_UniqueID; /// 邮件唯一id.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Money = mailList.m_Mails[i].m_Money; /// 金钱.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_SendTime = mailList.m_Mails[i].m_SendTime; /// 发送时间.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ReadTime = mailList.m_Mails[i].m_ReadTime; /// 阅读时间.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Sender = mailList.m_Mails[i].m_Sender; /// 发件人姓名.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Receiver = mailList.m_Mails[i].m_Receiver; /// 收件人姓名.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Title = mailList.m_Mails[i].m_Title; /// 标题.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Content = mailList.m_Mails[i].m_Content; /// 内容.. ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ItemCount = mailList.m_Mails[i].m_ItemCount; /// 物品数量.. for (int j = 0; j < ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_ItemCount; j++) { ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_UID = mailList.m_Mails[i].m_Items[j].m_UID; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_TID = mailList.m_Mails[i].m_Items[j].m_TID; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_UP = mailList.m_Mails[i].m_Items[j].m_UP; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_CT = mailList.m_Mails[i].m_Items[j].m_CT; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_EXP = mailList.m_Mails[i].m_Items[j].m_EXP; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_LK = mailList.m_Mails[i].m_Items[j].m_LK; ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEMCount = mailList.m_Mails[i].m_Items[j].m_GEMCount; for (int k = 0; k < ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEMCount; k++) { ((HeaderProto.SMailDetail)m_MailList[uuMailID]).m_Items[j].m_GEM[k].m_TID = mailList.m_Mails[i].m_Items[j].m_GEM[k].m_TID; } } } else { HeaderProto.SMailDetail info = new HeaderProto.SMailDetail(); info.m_Type = mailList.m_Mails[i].m_Type; /// 邮件类型.. info.m_UniqueID = mailList.m_Mails[i].m_UniqueID; /// 邮件唯一id.. info.m_Money = mailList.m_Mails[i].m_Money; /// 金钱.. info.m_SendTime = mailList.m_Mails[i].m_SendTime; /// 发送时间.. info.m_ReadTime = mailList.m_Mails[i].m_ReadTime; /// 阅读时间.. info.m_Sender = mailList.m_Mails[i].m_Sender; /// 发件人姓名.. info.m_Receiver = mailList.m_Mails[i].m_Receiver; /// 收件人姓名.. info.m_Title = mailList.m_Mails[i].m_Title; /// 标题.. info.m_Content = mailList.m_Mails[i].m_Content; /// 内容.. info.m_ItemCount = mailList.m_Mails[i].m_ItemCount; /// 物品数量.. for (int j = 0; j < info.m_ItemCount; j++) { HeaderProto.SXITEM item = new HeaderProto.SXITEM(); info.m_Items[j] = item; info.m_Items[j].m_UID = mailList.m_Mails[i].m_Items[j].m_UID; info.m_Items[j].m_TID = mailList.m_Mails[i].m_Items[j].m_TID; info.m_Items[j].m_UP = mailList.m_Mails[i].m_Items[j].m_UP; info.m_Items[j].m_CT = mailList.m_Mails[i].m_Items[j].m_CT; info.m_Items[j].m_EXP = mailList.m_Mails[i].m_Items[j].m_EXP; info.m_Items[j].m_LK = mailList.m_Mails[i].m_Items[j].m_LK; info.m_Items[j].m_GEMCount = mailList.m_Mails[i].m_Items[j].m_GEMCount; for (int k = 0; k < info.m_Items[j].m_GEMCount; k++) { HeaderProto.SXGEM gem = new HeaderProto.SXGEM(); info.m_Items[j].m_GEM[k] = gem; info.m_Items[j].m_GEM[k].m_TID = mailList.m_Mails[i].m_Items[j].m_GEM[k].m_TID; } } m_MailList[uuMailID] = info; } } } }