Example #1
0
    /// <summary>
    /// 打开Tip
    /// </summary>
    private void OpenTip(MailDataVO data)
    {
        if (m_TipPrefab)
        {
            if (!m_TipInstance1)
            {
                m_TipInstance1 = m_TipPrefab.Spawn(TipBoxLeft);
                m_TipInstance1.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;
            }

            LayoutMailTip(m_TipInstance1, data);
        }
        else if (!m_TipPrefabLoading)
        {
            m_TipPrefabLoading = true;

            LoadPrefabFromPool(TIP_PREFAB, (prefab) =>
            {
                if (Opened)
                {
                    m_TipPrefab = prefab;

                    OpenTipView();
                }
            });
        }
    }
Example #2
0
    /// <summary>
    /// 邮件 返回邮件列表
    /// </summary>
    /// <param name="buf"></param>
    private void GetMailList(KProtoBuf buf)
    {
        S2C_MAIL_GET_LIST msg = buf as S2C_MAIL_GET_LIST;

        m_MailCount = (int)msg.totalMailsCount;
        m_IsGetList = true;
        for (int i = 0; i < msg.mailList.Count; i++)
        {
            MailSimpleData m_Data = msg.mailList[i];

            MailDataVO m_Maildate = new MailDataVO();

            m_Maildate.Id           = m_Data.id;
            m_Maildate.Tid          = m_Data.tid;
            m_Maildate.Index        = m_Data.index;
            m_Maildate.MaxCount     = m_Data.max_index;
            m_Maildate.ExpireTime   = m_Data.expireTime;
            m_Maildate.SendTime     = m_Data.recvTime;
            m_Maildate.Readed       = m_Data.readed;
            m_Maildate.Got          = m_Data.got;
            m_Maildate.IsMark       = m_Data.starred;
            m_Maildate.HasAccessory = m_Data.has_accessory;
            m_Maildate.IsNew        = m_Data.is_new;
            GetMailProxy().AddMail(m_Data.id, m_Maildate);
        }
    }
Example #3
0
    /// <summary>
    /// 邮件 通知有新邮件
    /// </summary>
    /// <param name="buf"></param>
    private void MailNew(KProtoBuf buf)
    {
        S2C_MAIL_NEW msg = buf as S2C_MAIL_NEW;

        m_IsGetList = false;
        MailSimpleData m_Data = msg.new_mail;

        if (GetMailProxy().GetMails().TryGetValue(m_Data.id, out MailDataVO mailData))
        {
            return;
        }

        MailDataVO m_Maildate = new MailDataVO();

        m_Maildate.Id           = m_Data.id;
        m_Maildate.Tid          = m_Data.tid;
        m_Maildate.Index        = m_Data.index;
        m_Maildate.MaxCount     = m_Data.max_index;
        m_Maildate.ExpireTime   = m_Data.expireTime;
        m_Maildate.SendTime     = m_Data.recvTime;
        m_Maildate.Readed       = m_Data.readed;
        m_Maildate.Got          = m_Data.got;
        m_Maildate.IsMark       = m_Data.starred;
        m_Maildate.HasAccessory = m_Data.has_accessory;
        m_Maildate.IsNew        = m_Data.is_new;
        GetMailProxy().AddMail(m_Data.id, m_Maildate);
        GameFacade.Instance.SendNotification(NotificationName.MSG_EMAIL_RENDERLIST);
    }
Example #4
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="view"></param>
    /// <param name="data"></param>
    private void LayoutMailTip(GameObject view, MailDataVO data)
    {
        int             index           = 0;
        Transform       m_TipsTransform = FindComponent <Transform>(view.transform, "TipsScrollView/ALL");
        TextMeshProUGUI m_Title         = FindComponent <TextMeshProUGUI>(view.transform, "TipsScrollView/ALL/Content/NameType/Label_Name");
        TextMeshProUGUI m_Sender        = FindComponent <TextMeshProUGUI>(view.transform, "TipsScrollView/ALL/Content/NameType/Type/Label_Type");
        TextMeshProUGUI m_Describe      = FindComponent <TextMeshProUGUI>(view.transform, "TipsScrollView/ALL/Content/Describe/Label_Describe");

        Transform itemRootTf = FindComponent <Transform>(view.transform, "TipsScrollView/ALL/Content/Materials");

        m_Title.text    = data.Title;
        m_Sender.text   = data.Sender;
        m_Describe.text = data.Content;
        m_Describe.text = m_Describe.text.Replace("\\n", "\n");
        if (data.Items == null)
        {
            return;
        }
        for (; index < data.Items.Count; index++)
        {
            RewardDateVO mailReward = data.Items[index];
            Transform    node       = index < itemRootTf.childCount ? itemRootTf.GetChild(index) : Object.Instantiate(itemRootTf.GetChild(0), itemRootTf);
            Image        icon       = FindComponent <Image>(node, "Content/Icon/Icon");
            Image        quality    = FindComponent <Image>(node, "Content/Icon/Quality");
            TMP_Text     name       = FindComponent <TMP_Text>(node, "Content/Label_Name");
            TMP_Text     num        = FindComponent <TMP_Text>(node, "Content/Label_Num");
            name.text     = TableUtil.GetItemName((int)mailReward.Id);
            num.text      = mailReward.Num.ToString();
            quality.color = ColorUtil.GetColorByItemQuality(mailReward.Quality);
            string iconName = TableUtil.GetItemSquareIconImage(mailReward.Id);
            UIUtil.SetIconImage(icon, TableUtil.GetItemIconBundle(mailReward.Id), iconName);
            if (data.Got == 1)
            {
                icon.color = Color.gray;
            }
            else
            {
                icon.color = Color.white;
            }
            node.gameObject.SetActive(true);
        }
        for (; index < itemRootTf.childCount; index++)
        {
            itemRootTf.GetChild(index).gameObject.SetActive(false);
        }
    }
Example #5
0
    public override void OnHide()
    {
        m_LastMailSelectVo = null;
        m_LastLogSelectVo  = null;
        if (m_NewIds != null && m_NewIds.Count > 0)
        {
            NetworkManager.Instance.GetMailController().C_to_S_ClearNew(m_NewIds);
        }
        m_NewIds.Clear();
        OwnerView.State.GetAction(UIAction.Mail_Retrieve).Callback -= GetAccessory;
        OwnerView.State.GetAction(UIAction.Mail_Empty).Callback    -= DeleteAll;
        OwnerView.State.GetAction(UIAction.Mail_Delete).Callback   -= DeleteMail;
        OwnerView.State.GetAction(UIAction.Mail_Mark).Callback     -= SetMarkMail;
        State.OnSelectionChanged += OnSelectionChanged;

        base.OnHide();
    }
Example #6
0
    protected override void OnCellRenderer(int groupIndex, int cellIndex, object cellData, RectTransform cellView, bool selected)
    {
        Animator m_Animator = cellView.GetComponent <Animator>();

        if (m_Animator)
        {
            m_Animator.SetBool("IsOn", selected);
        }
        if (OwnerView.State.GetPageIndex() == 0)
        {
            MailDataVO m_MailVo = (MailDataVO)cellData;
            if (selected)
            {
                if (m_LastMailSelectVo != m_MailVo)
                {
                    m_LastMailSelectVo = m_MailVo;

                    NetworkManager.Instance.GetMailController().C_to_S_GetMailContent(m_LastMailSelectVo.Id);
                    if (m_LastMailSelectVo.IsNew == 1)
                    {
                        RecordNewMail(m_LastMailSelectVo.Id);
                        m_MailProxy.ClearMailNew(m_LastMailSelectVo.Id);
                    }
                }
                object data = OwnerView.State.GetTipData();
                OwnerView.State.SetTipData(null);
                OwnerView.State.SetTipData(data);
                SetMailState();
            }
            MailTemplate m_MailTemplate = cellView.GetOrAddComponent <MailTemplate>();
            m_MailTemplate.Init(m_MailVo, RecordNewMail);
        }
        else
        {
            LogDataVO   m_LogVo       = (LogDataVO)cellData;
            LogTemplate m_LogTemplate = cellView.GetOrAddComponent <LogTemplate>();
            m_LogTemplate.Init(m_LogVo);
            if (selected)
            {
                m_LastLogSelectVo = m_LogVo;
                SetLogState();
            }
        }
    }
Example #7
0
 /// <summary>
 /// 初始化内容并设置Tips
 /// </summary>
 /// <param name="mailDate"></param>
 public void Init(MailDataVO mailDate, UnityAction <string> action)
 {
     if (m_Root == null)
     {
         m_Root = TransformUtil.FindUIObject <Transform>(transform, "Content");
     }
     if (m_MailIcon == null)
     {
         m_MailIcon = TransformUtil.FindUIObject <Image>(transform, "Content/Image_Icon");
     }
     if (m_OverlyingIcon == null)
     {
         m_OverlyingIcon = TransformUtil.FindUIObject <Image>(transform, "Content/Image_Icon2");
     }
     if (m_SendName == null)
     {
         m_SendName = TransformUtil.FindUIObject <TextMeshProUGUI>(transform, "Content/Label_Name");
     }
     if (m_ResidualTime == null)
     {
         m_ResidualTime = TransformUtil.FindUIObject <TextMeshProUGUI>(transform, "Content/Label_LeftTime");
     }
     if (m_MailName == null)
     {
         m_MailName = TransformUtil.FindUIObject <TextMeshProUGUI>(transform, "Content/Label_Sender");
     }
     if (m_MailNew == null)
     {
         m_MailNew = TransformUtil.FindUIObject <Transform>(transform, "Content/Image_New");
     }
     if (m_MailMark == null)
     {
         m_MailMark = TransformUtil.FindUIObject <Transform>(transform, "Content/Image_Mark");
     }
     m_Data  = mailDate;
     m_Hover = action;
     SetContent();
 }
Example #8
0
 /// <summary>
 /// 添加邮件
 /// </summary>
 /// <param name="id"></param>
 /// <param name="maildate"></param>
 public void AddMail(string id, MailDataVO maildate)
 {
     m_Mails[id] = maildate;
 }