Ejemplo n.º 1
0
    public void UpdateListElenment(GameObject element, CMail mail)
    {
        int                currentUTCTime   = CRoleInfo.GetCurrentUTCTime();
        Text               componetInChild  = Utility.GetComponetInChild <Text>(element, "Title");
        Text               componetInChild2 = Utility.GetComponetInChild <Text>(element, "MailTime");
        GameObject         obj              = Utility.FindChild(element, "New");
        GameObject         obj2             = Utility.FindChild(element, "ReadMailIcon");
        GameObject         obj3             = Utility.FindChild(element, "UnReadMailIcon");
        GameObject         obj4             = Utility.FindChild(element, "CoinImg");
        Text               componetInChild3 = Utility.GetComponetInChild <Text>(element, "From");
        CUIHttpImageScript componetInChild4 = Utility.GetComponetInChild <CUIHttpImageScript>(element, "HeadBg/imgHead");
        GameObject         obj5             = null;
        Text               text             = null;
        GameObject         gameObject       = Utility.FindChild(element, "OnlineBg");

        if (gameObject != null)
        {
            obj5 = gameObject.gameObject;
        }
        GameObject gameObject2 = Utility.FindChild(element, "Online");

        if (gameObject2 != null)
        {
            text = gameObject2.GetComponent <Text>();
        }
        componetInChild.set_text(mail.subject);
        componetInChild2.set_text(Utility.GetTimeBeforString((long)((ulong)mail.sendTime), (long)currentUTCTime));
        bool flag = mail.mailState == COM_MAIL_STATE.COM_MAIL_UNREAD;

        obj.CustomSetActive(flag);
        if (mail.mailType == CustomMailType.SYSTEM)
        {
            obj2.CustomSetActive(!flag);
            obj3.CustomSetActive(flag);
            componetInChild3.set_text(string.Empty);
            componetInChild4.gameObject.CustomSetActive(false);
            obj4.CustomSetActive(false);
            obj5.CustomSetActive(false);
            if (text != null)
            {
                text.gameObject.CustomSetActive(false);
            }
        }
        else if (mail.mailType == CustomMailType.FRIEND)
        {
            obj5.CustomSetActive(false);
            if (text != null)
            {
                text.gameObject.CustomSetActive(false);
            }
            obj2.CustomSetActive(false);
            obj3.CustomSetActive(false);
            componetInChild3.set_text(mail.from);
            componetInChild4.gameObject.CustomSetActive(true);
            if (mail.subType == 3)
            {
                obj4.CustomSetActive(false);
                componetInChild4.SetImageSprite(CGuildHelper.GetGuildHeadPath(), this.m_CUIForm);
            }
            else
            {
                obj4.CustomSetActive(true);
                if (!CSysDynamicBlock.bFriendBlocked)
                {
                    COMDT_FRIEND_INFO friendByName = Singleton <CFriendContoller> .instance.model.getFriendByName(mail.from, CFriendModel.FriendType.GameFriend);

                    if (friendByName == null)
                    {
                        friendByName = Singleton <CFriendContoller> .instance.model.getFriendByName(mail.from, CFriendModel.FriendType.SNS);
                    }
                    if (friendByName != null)
                    {
                        string url = Utility.UTF8Convert(friendByName.szHeadUrl);
                        componetInChild4.SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(url));
                    }
                }
            }
        }
        else if (mail.mailType == CustomMailType.FRIEND_INVITE)
        {
            obj5.CustomSetActive(true);
            if (text != null)
            {
                text.gameObject.CustomSetActive(true);
            }
            obj2.CustomSetActive(false);
            obj3.CustomSetActive(false);
            componetInChild3.set_text(string.Empty);
            componetInChild4.gameObject.CustomSetActive(true);
            obj4.CustomSetActive(false);
            Transform  transform = element.transform.FindChild("invite_btn");
            GameObject obj6      = null;
            if (transform != null)
            {
                obj6 = transform.gameObject;
            }
            if (mail.relationType == 1)
            {
                GuildMemInfo guildMemberInfoByUid = CGuildHelper.GetGuildMemberInfoByUid(mail.uid);
                Singleton <CMailSys> .instance.AddGuildMemInfo(guildMemberInfoByUid);
            }
            this.SetEventParams(element, mail);
            string text2;
            string url2;
            bool   flag2             = !this.GetOtherPlayerState((COM_INVITE_RELATION_TYPE)mail.relationType, mail.uid, mail.dwLogicWorldID, out text2, out url2);
            string processTypeString = this.GetProcessTypeString((CMailSys.enProcessInviteType)mail.processType);
            componetInChild.set_text(string.Format("{0} {1}", mail.subject, processTypeString));
            if (text != null)
            {
                text.set_text(text2);
            }
            componetInChild4.SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(url2));
            if (flag2)
            {
                CUIUtility.GetComponentInChildren <Image>(componetInChild4.gameObject).set_color(CUIUtility.s_Color_GrayShader);
            }
            else
            {
                CUIUtility.GetComponentInChildren <Image>(componetInChild4.gameObject).set_color(CUIUtility.s_Color_Full);
            }
            obj6.CustomSetActive(!flag2);
        }
        else if (mail.mailType == CustomMailType.ASK_FOR)
        {
            obj2.CustomSetActive(false);
            obj3.CustomSetActive(false);
            componetInChild3.set_text(mail.from);
            componetInChild4.gameObject.CustomSetActive(true);
            obj4.CustomSetActive(false);
            obj5.CustomSetActive(false);
            if (text != null)
            {
                text.gameObject.CustomSetActive(false);
            }
            if (!CSysDynamicBlock.bFriendBlocked)
            {
                CFriendModel.FriendType friendType    = CFriendModel.FriendType.GameFriend;
                COMDT_FRIEND_INFO       friendByName2 = Singleton <CFriendContoller> .instance.model.getFriendByName(mail.from, CFriendModel.FriendType.GameFriend);

                if (friendByName2 == null)
                {
                    friendType    = CFriendModel.FriendType.SNS;
                    friendByName2 = Singleton <CFriendContoller> .instance.model.getFriendByName(mail.from, CFriendModel.FriendType.SNS);
                }
                if (friendByName2 != null)
                {
                    string url3 = Utility.UTF8Convert(friendByName2.szHeadUrl);
                    componetInChild4.SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(url3));
                    UT.ShowFriendData(friendByName2, element.GetComponent <FriendShower>(), FriendShower.ItemType.Normal, false, friendType, Singleton <CUIManager> .GetInstance().GetForm(CMailSys.MAIL_FORM_PATH), true);
                }
            }
        }
    }
Ejemplo n.º 2
0
    private bool GetOtherPlayerState(COM_INVITE_RELATION_TYPE type, ulong uid, uint dwLogicWorldID, out string stateStr, out string headURL)
    {
        headURL = string.Empty;
        if (type == COM_INVITE_RELATION_TYPE.COM_INVITE_RELATION_FRIEND)
        {
            CFriendModel.FriendInGame friendInGaming = Singleton <CFriendContoller> .instance.model.GetFriendInGaming(uid, dwLogicWorldID);

            COMDT_FRIEND_INFO gameOrSnsFriend = Singleton <CFriendContoller> .instance.model.GetGameOrSnsFriend(uid, dwLogicWorldID);

            if (gameOrSnsFriend == null)
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            headURL = Utility.UTF8Convert(gameOrSnsFriend.szHeadUrl);
            if (gameOrSnsFriend.bIsOnline != 1)
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            stateStr = Singleton <CMailSys> .instance.onlineStr;
            if (friendInGaming == null)
            {
                return(gameOrSnsFriend.bIsOnline == 1);
            }
            if (friendInGaming.State == COM_ACNT_GAME_STATE.COM_ACNT_GAME_STATE_SINGLEGAME || friendInGaming.State == COM_ACNT_GAME_STATE.COM_ACNT_GAME_STATE_MULTIGAME)
            {
                if (friendInGaming.startTime > 0u)
                {
                    stateStr = Singleton <CMailSys> .instance.gamingStr;
                }
                else
                {
                    stateStr = string.Format("<color=#ffff00>{0}</color>", Singleton <CTextManager> .instance.GetText("Common_Gaming_NoTime"));
                }
            }
            else if (friendInGaming.State == COM_ACNT_GAME_STATE.COM_ACNT_GAME_STATE_TEAM)
            {
                stateStr = string.Format("<color=#ffff00>{0}</color>", Singleton <CTextManager> .instance.GetText("Common_Teaming"));
            }
            return(gameOrSnsFriend.bIsOnline == 1);
        }
        else if (type == COM_INVITE_RELATION_TYPE.COM_INVITE_RELATION_GUILDMEMBER)
        {
            GuildMemInfo guildMemberInfoByUid = CGuildHelper.GetGuildMemberInfoByUid(uid);
            if (guildMemberInfoByUid == null)
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            headURL = guildMemberInfoByUid.stBriefInfo.szHeadUrl;
            if (!CGuildHelper.IsMemberOnline(guildMemberInfoByUid))
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            stateStr = Singleton <CMailSys> .instance.onlineStr;
            if (guildMemberInfoByUid.GameState == COM_ACNT_GAME_STATE.COM_ACNT_GAME_STATE_SINGLEGAME || guildMemberInfoByUid.GameState == COM_ACNT_GAME_STATE.COM_ACNT_GAME_STATE_MULTIGAME)
            {
                if (guildMemberInfoByUid.dwGameStartTime > 0u)
                {
                    stateStr = Singleton <CMailSys> .instance.gamingStr;
                }
                else
                {
                    stateStr = string.Format("<color=#ffff00>{0}</color>", Singleton <CTextManager> .instance.GetText("Common_Gaming_NoTime"));
                }
            }
            return(true);
        }
        else
        {
            if (type != COM_INVITE_RELATION_TYPE.COM_INVITE_RELATION_LBS)
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            CSDT_LBS_USER_INFO lBSUserInfo = Singleton <CFriendContoller> .instance.model.GetLBSUserInfo(uid, dwLogicWorldID, CFriendModel.LBSGenderType.Both);

            if (lBSUserInfo == null)
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
                return(false);
            }
            headURL = Utility.UTF8Convert(lBSUserInfo.stLbsUserInfo.szHeadUrl);
            if (lBSUserInfo.stLbsUserInfo.bIsOnline == 1)
            {
                stateStr = Singleton <CMailSys> .instance.onlineStr;
            }
            else
            {
                stateStr = Singleton <CMailSys> .instance.offlineStr;
            }
            return(lBSUserInfo.stLbsUserInfo.bIsOnline == 1);
        }
    }
Ejemplo n.º 3
0
    public void UpdateListElenment(GameObject element, CMail mail)
    {
        int                currentUTCTime = CRoleInfo.GetCurrentUTCTime();
        Text               component      = element.transform.FindChild("Title").GetComponent <Text>();
        Text               component2     = element.transform.FindChild("MailTime").GetComponent <Text>();
        GameObject         gameObject     = element.transform.FindChild("New").gameObject;
        GameObject         gameObject2    = element.transform.FindChild("ReadMailIcon").gameObject;
        GameObject         gameObject3    = element.transform.FindChild("UnReadMailIcon").gameObject;
        GameObject         gameObject4    = element.transform.FindChild("CoinImg").gameObject;
        Text               component3     = element.transform.FindChild("From").GetComponent <Text>();
        CUIHttpImageScript component4     = element.transform.FindChild("HeadBg/imgHead").GetComponent <CUIHttpImageScript>();
        GameObject         obj            = null;
        Text               text           = null;
        Transform          transform      = element.transform.FindChild("OnlineBg");

        if (transform != null)
        {
            obj = transform.gameObject;
        }
        Transform transform2 = element.transform.FindChild("Online");

        if (transform2 != null)
        {
            text = transform2.GetComponent <Text>();
        }
        component.text  = mail.subject;
        component2.text = Utility.GetTimeBeforString((long)((ulong)mail.sendTime), (long)currentUTCTime);
        bool flag = mail.mailState == 1;

        gameObject.CustomSetActive(flag);
        if (mail.mailType == 1)
        {
            gameObject2.CustomSetActive(!flag);
            gameObject3.CustomSetActive(flag);
            component3.text = string.Empty;
            component4.gameObject.CustomSetActive(false);
            gameObject4.SetActive(false);
            obj.CustomSetActive(false);
            if (text != null)
            {
                text.gameObject.CustomSetActive(false);
            }
        }
        else if (mail.mailType == 2)
        {
            obj.CustomSetActive(false);
            if (text != null)
            {
                text.gameObject.CustomSetActive(false);
            }
            gameObject2.CustomSetActive(false);
            gameObject3.CustomSetActive(false);
            component3.text = mail.from;
            component4.gameObject.CustomSetActive(true);
            if (mail.subType == 3)
            {
                gameObject4.CustomSetActive(false);
                component4.SetImageSprite(CGuildHelper.GetGuildHeadPath(), this.m_CUIForm);
            }
            else
            {
                gameObject4.CustomSetActive(true);
                if (!CSysDynamicBlock.bFriendBlocked)
                {
                    COMDT_FRIEND_INFO friendByName = Singleton <CFriendContoller> .get_instance().model.getFriendByName(mail.from, CFriendModel.FriendType.GameFriend);

                    if (friendByName == null)
                    {
                        friendByName = Singleton <CFriendContoller> .get_instance().model.getFriendByName(mail.from, CFriendModel.FriendType.SNS);
                    }
                    if (friendByName != null)
                    {
                        string url = Utility.UTF8Convert(friendByName.szHeadUrl);
                        component4.SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(url));
                    }
                }
            }
        }
        else if (mail.mailType == 3)
        {
            obj.CustomSetActive(true);
            if (text != null)
            {
                text.gameObject.CustomSetActive(true);
            }
            gameObject2.CustomSetActive(false);
            gameObject3.CustomSetActive(false);
            component3.text = string.Empty;
            component4.gameObject.CustomSetActive(true);
            gameObject4.SetActive(false);
            Transform  transform3 = element.transform.FindChild("invite_btn");
            GameObject obj2       = null;
            if (transform3 != null)
            {
                obj2 = transform3.gameObject;
            }
            if (mail.relationType == 1)
            {
                GuildMemInfo guildMemberInfoByUid = CGuildHelper.GetGuildMemberInfoByUid(mail.uid);
                Singleton <CMailSys> .get_instance().AddGuildMemInfo(guildMemberInfoByUid);
            }
            this.SetEventParams(element, mail);
            string text2;
            string url2;
            bool   flag2             = !this.GetOtherPlayerState(mail.relationType, mail.uid, mail.dwLogicWorldID, out text2, out url2);
            string processTypeString = this.GetProcessTypeString((CMailSys.enProcessInviteType)mail.processType);
            component.text = string.Format("{0} {1}", mail.subject, processTypeString);
            if (text != null)
            {
                text.text = text2;
            }
            component4.SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(url2));
            if (flag2)
            {
                CUIUtility.GetComponentInChildren <Image>(component4.gameObject).color = CUIUtility.s_Color_GrayShader;
            }
            else
            {
                CUIUtility.GetComponentInChildren <Image>(component4.gameObject).color = CUIUtility.s_Color_Full;
            }
            obj2.CustomSetActive(!flag2);
        }
    }