示例#1
0
    private void SetFriendListShow(bool isDirect)
    {
        direct_friend_underline.SetActive(isDirect);
        indirect_friend_underline.SetActive(!isDirect);
        List <AllData_FriendData_Friend> willBeShow = isDirect ? direct_friend_list : indirect_friend_list;

        list_titleText.text = isDirect ? direct_title : indirect_title;
        foreach (var friend in all_friends)
        {
            friend.gameObject.SetActive(false);
        }
        int willbeShowCount = willBeShow.Count;

        for (int i = 0; i < willbeShowCount; i++)
        {
            if (i > all_friends.Count - 1)
            {
                FriendItem newFriend = Instantiate(single_friend_item, single_friend_item.transform.parent).GetComponent <FriendItem>();
                all_friends.Add(newFriend);
            }
            AllData_FriendData_Friend frinedInfo = willBeShow[i];
            all_friends[i].gameObject.SetActive(true);
            all_friends[i].Init(frinedInfo.user_img, frinedInfo.distance, frinedInfo.user_name, frinedInfo.user_time, frinedInfo.user_level);
        }
    }
示例#2
0
    public void RefreshFriendList()
    {
        pt_numText.text = ((int)Save.data.allData.fission_info.live_balance).GetTokenShowString() + " <size=70>Pt</size>";
        int invite_people_num     = Save.data.allData.fission_info.user_invite_people;
        int invite_people_receive = Save.data.allData.fission_info.reward_conf.invite_receive;

        myfriends_numText.text    = string.Format("My friends: <color=#0596E4>{0}</color>", invite_people_num.GetTokenShowString());
        yesterday_pt_numText.text = ((int)Save.data.allData.fission_info.up_user_info.yestday_team_all).GetTokenShowString() + " <size=55>Pt</size>";
        total_pt_numText.text     = ((int)Save.data.allData.fission_info.user_total).GetTokenShowString() + " <size=55>Pt</size>";

        foreach (var friend in all_invite_friend_items)
        {
            friend.gameObject.SetActive(false);
        }

        List <AllData_FriendData_Friend> friend_Infos = Save.data.allData.fission_info.up_user_info.two_user_list;
        int count = friend_Infos.Count;
        List <AllData_FriendData_Friend> friend_Infos_order = new List <AllData_FriendData_Friend>();

        for (int i = 0; i < count; i++)
        {
            AllData_FriendData_Friend unorder_friend_info = friend_Infos[i];
            int  orderCount = friend_Infos_order.Count;
            bool hasAdd     = false;
            for (int j = 0; j < orderCount; j++)
            {
                if (unorder_friend_info.yestday_doller < friend_Infos_order[j].yestday_doller)
                {
                    continue;
                }
                else
                {
                    friend_Infos_order.Insert(j, unorder_friend_info);
                    hasAdd = true;
                    break;
                }
            }
            if (!hasAdd)
            {
                friend_Infos_order.Add(unorder_friend_info);
            }
        }
        int hasPtFriendCount = 0;

        for (int i = 0; i < count; i++)
        {
            AllData_FriendData_Friend friendInfo = friend_Infos_order[i];
            if ((int)friendInfo.yestday_doller == 0)
            {
                continue;
            }
            hasPtFriendCount++;
            if (i > all_invite_friend_items.Count - 1)
            {
                FriendInviteRecordItem newRecordItem = Instantiate(single_invite_record_item, single_invite_record_item.transform.parent).GetComponent <FriendInviteRecordItem>();
                all_invite_friend_items.Add(newRecordItem);
            }
            all_invite_friend_items[i].gameObject.SetActive(true);
            all_invite_friend_items[i].Init(friendInfo.user_img, friendInfo.user_name, (int)friendInfo.yestday_doller, friendInfo.distance);
        }
        bool noFriend   = count == 0;
        bool noPtFriend = hasPtFriendCount == 0;

        lastdayGo.SetActive(!noPtFriend);
        nofriend_tipGo.SetActive(noFriend);
        myfriendsButton.gameObject.SetActive(!noFriend);
        if (count > 0)
        {
            friend_headImage1.sprite = Sprites.GetSprite(SpriteAtlas_Name.HeadIcon, "head_" + friend_Infos[0].user_img);
        }
        if (count > 1)
        {
            friend_headImage2.sprite = Sprites.GetSprite(SpriteAtlas_Name.HeadIcon, "head_" + friend_Infos[1].user_img);
        }
        if (count > 2)
        {
            friend_headImage3.sprite = Sprites.GetSprite(SpriteAtlas_Name.HeadIcon, "head_" + friend_Infos[2].user_img);
        }

        int receiveTime = invite_people_receive + 1;

        if (receiveTime <= Save.data.allData.fission_info.reward_conf.invite_flag)
        {
            invite_reward_numText.text = string.Format("Invite friends to get <color=#FF9732>{0}</color>",
                                                       Save.data.allData.fission_info.reward_conf.lt_flag_type == Reward.Cash ? "$" + Save.data.allData.fission_info.reward_conf.lt_flag_num.GetCashShowString() : Save.data.allData.fission_info.reward_conf.lt_flag_num.GetTokenShowString());
            invite_reward_iconImage.sprite = Sprites.GetSprite(SpriteAtlas_Name.Friend, Save.data.allData.fission_info.reward_conf.lt_flag_type.ToString().ToLower());
        }
        else
        {
            invite_reward_numText.text = string.Format("Invite friends to get <color=#FF9732>{0}</color>",
                                                       Save.data.allData.fission_info.reward_conf.gt_flag_type == Reward.Cash ? "$" + Save.data.allData.fission_info.reward_conf.gt_flag_num.GetCashShowString() : Save.data.allData.fission_info.reward_conf.gt_flag_num.GetTokenShowString());
            invite_reward_iconImage.sprite = Sprites.GetSprite(SpriteAtlas_Name.Friend, Save.data.allData.fission_info.reward_conf.gt_flag_type.ToString().ToLower());
        }

        int not_received_invite_reward = invite_people_num - invite_people_receive;

        for (int i = 0; i < not_received_invite_reward; i++)
        {
            int receiveTimes = invite_people_receive + i + 1;
            if (receiveTimes <= Save.data.allData.fission_info.reward_conf.invite_flag)
            {
                UI.ShowPopPanel(PopPanel.InviteOk, (int)Save.data.allData.fission_info.reward_conf.lt_flag_type, Save.data.allData.fission_info.reward_conf.lt_flag_num);
            }
            else
            {
                UI.ShowPopPanel(PopPanel.InviteOk, (int)Save.data.allData.fission_info.reward_conf.gt_flag_type, Save.data.allData.fission_info.reward_conf.gt_flag_num);
            }
        }
    }