Esempio n. 1
0
    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;
            }
        }
    }
Esempio n. 2
0
    // 创建角色装备属性表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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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;
                }
            }
        }
    }