コード例 #1
0
    private void RecivedRemove(PReleaseReward playerInfo, int mType, List <PReleaseReward> record)
    {
        if (playerInfo == null)
        {
            return;
        }
        if ((m_unionReward.isOn && mType == 0) || (m_friendReward.isOn && mType == 1))
        {
            m_rewardData.RemoveItem(playerInfo);
        }

        m_recordInfoPlane.SafeSetActive(record.Count > 0);
        m_recordNothing.SafeSetActive(record.Count == 0);
    }
コード例 #2
0
    private void SetRewardData(RectTransform rt, PReleaseReward info)
    {
        if (info == null)
        {
            return;
        }

        FriendPrecast pracest = rt.gameObject.GetComponentDefault <FriendPrecast>();
        PPlayerInfo   player  = moduleUnion.PlayerInfo(info.playerId);

        if (player == null)
        {
            return;
        }
        pracest.DelayAddData(player);

        var prop = ConfigManager.Get <PropItemInfo>(info.itemTypeId);

        if (prop == null)
        {
            return;
        }

        var item    = rt.Find("item");
        var itemBtn = item.GetComponentDefault <Button>();
        var have    = rt.Find("count/Text").GetComponent <Text>();
        var slider  = rt.Find("count/Slider/bg/Fill").GetComponent <Image>();
        var now     = rt.Find("count/Slider/value").GetComponent <Text>();
        var need    = rt.Find("count/Slider/need").GetComponent <Text>();
        var helpBtn = rt.Find("help_btn").GetComponent <Button>();
        var giveBtn = rt.Find("giveBtn").GetComponent <Button>();
        var lack    = rt.Find("lack_txt").GetComponent <Text>();
        var over    = rt.Find("over_txt").GetComponent <Text>();

        Transform icon = rt.Find("item/icon");

        Util.SetItemInfoSimple(item, prop);
        var selfhave = moduleCangku.GetItemCount(info.itemTypeId);

        Util.SetText(have, string.Format(ConfigText.GetDefalutString(631, 10), selfhave));
        Util.SetText(now, info.receivedNum.ToString());
        Util.SetText(need, prop.rewardnum.ToString());
        slider.fillAmount = (float)info.receivedNum / (float)prop.rewardnum;
        if (info.receivedNum > prop.rewardnum)
        {
            slider.fillAmount = 1;
        }
        Util.SetText(lack, 631, 11);
        Util.SetText(over, 631, 12);
        Util.SetText(rt.Find("giveBtn/Text").GetComponent <Text>(), 631, 13);
        Util.SetText(rt.Find("help_btn/Text").GetComponent <Text>(), 631, 14);
        helpBtn.SafeSetActive(info.playerId == modulePlayer.id_ && info.receivedNum < prop.rewardnum);
        giveBtn.SafeSetActive(info.playerId != modulePlayer.id_ && info.receivedNum < prop.rewardnum && selfhave > 0);
        lack.gameObject.SetActive(info.playerId != modulePlayer.id_ && info.receivedNum < prop.rewardnum && selfhave <= 0);
        over.gameObject.SetActive(info.receivedNum == prop.rewardnum);

        var title     = rt.Find("isGuildMember/guildMember_Txt").GetComponent <Text>();
        var unionInfo = moduleUnion.m_unionPlayer.Find(a => a.info?.roleId == info.playerId);

        if (unionInfo != null)
        {
            Util.SetText(title, 631, (unionInfo.title + 30));
        }

        itemBtn.onClick.RemoveAllListeners();
        itemBtn.onClick.AddListener(delegate
        {
            moduleGlobal.UpdateGlobalTip(info.itemTypeId, true);
        });

        helpBtn.onClick.RemoveAllListeners();
        helpBtn.onClick.AddListener(delegate
        {
            var imagePath     = PATH_SHARE_REWARD + "/" + prop.icon + ".png";
            var shareText     = Util.Format(Util.GetString(631, 37), prop.itemName, prop.rewardnum);
            Vector3[] cornors = new Vector3[4];
            icon.GetComponent <RectTransform>().GetWorldCorners(cornors);
            if (UIManager.canvas.renderMode != RenderMode.ScreenSpaceOverlay)
            {
                for (int idx = 0; idx < cornors.Length; ++idx)
                {
                    cornors[idx] = UIManager.canvas.worldCamera.WorldToScreenPoint(cornors[idx]);
                }
            }
            int x      = (int)cornors[0].x;
            int y      = (int)cornors[0].y;
            int width  = Mathf.CeilToInt((cornors[3].x - cornors[0].x));
            int height = Mathf.CeilToInt((int)(cornors[1].y - cornors[0].y));
            StartCoroutine(Share(x, y, width, height, shareText));
        });
        giveBtn.onClick.RemoveAllListeners();
        giveBtn.onClick.AddListener(delegate
        {
            var type = 0;
            if (m_friendReward.isOn)
            {
                type = 1;
            }
            moduleUnion.GivePlayerItem(type, info.playerId, info.itemTypeId, info.leagueID);
        });
    }