Пример #1
0
 //解析兑换消耗条件
 private void parseConditions(string str)
 {
     string[] strArr = str.Split('^');
     conditions = new ExchangeCondition[strArr.Length][];
     for (int j = 0; j < strArr.Length; j++)
     {
         string[] atrar = strArr[j].Split('#');
         conditions[j] = new ExchangeCondition[atrar.Length];
         for (int i = 0; i < atrar.Length; i++)
         {
             conditions [j][i] = new ExchangeCondition(atrar [i]);
         }
     }
 }
Пример #2
0
    public void updateButton(ExchangeCondition condition, int type)
    {
        cleanData();
        Image.gameObject.SetActive(true);
        this.type = type;

        if (condition.costType == PrizeType.PRIZE_CARD)
        {
            Card showCard = CardManagerment.Instance.createCard(condition.costSid);
            ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.CARDIMAGEPATH + showCard.getImageID(), Image);

            if (type == EXCHANGE)
            {
                Image.width  = (int)bigPic.x;
                Image.height = (int)bigPic.y;
            }
            else
            {
                Image.width  = (int)bigPic.x;
                Image.height = (int)bigPic.y;
            }
            icon_back.gameObject.SetActive(true);
            icon_back.width      = (int)bigPicBg.x;
            icon_back.height     = (int)bigPicBg.y;
            icon_back.spriteName = QualityManagerment.qualityIDToBackGround(showCard.getQualityId());
            setNormalSprite(icon_back.spriteName);
            ArrayList list = StorageManagerment.Instance.getNoUseRolesBySid(condition.costSid);

            if (list.Count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }

            textLabel.text = list.Count + "/" + condition.num;
            item           = showCard;
        }
        else if (condition.costType == PrizeType.PRIZE_EQUIPMENT)
        {
            Equip showEquip = EquipManagerment.Instance.createEquip(condition.costSid);
            ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.ICONIMAGEPATH + showEquip.getIconId(), Image);
            Image.width  = (int)smallPic.x;
            Image.height = (int)smallPic.y;
            icon_back.gameObject.SetActive(true);
            icon_back.width      = (int)iconPic.x;
            icon_back.height     = (int)iconPic.y;
            icon_back.spriteName = QualityManagerment.qualityIDToIconSpriteName(showEquip.getQualityId());
            setNormalSprite(icon_back.spriteName);
            ArrayList list = StorageManagerment.Instance.getEquipsBySid(condition.costSid);
            textLabel.text = list.Count + "/" + condition.num;

            if (list.Count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }
            item = showEquip;
        }
        else if (condition.costType == PrizeType.PRIZE_PROP)
        {
            Prop showProp = PropManagerment.Instance.createProp(condition.costSid);
            ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.ICONIMAGEPATH + showProp.getIconId(), Image);
            Image.width  = (int)smallPic.x;
            Image.height = (int)smallPic.y;
            icon_back.gameObject.SetActive(true);
            icon_back.width      = (int)iconPic.x;
            icon_back.height     = (int)iconPic.y;
            icon_back.spriteName = QualityManagerment.qualityIDToIconSpriteName(showProp.getQualityId());
            setNormalSprite(icon_back.spriteName);
            ArrayList list = StorageManagerment.Instance.getPropsBySid(condition.costSid);

            int count = 0;
            foreach (Prop each in list)
            {
                count += each.getNum();
            }

            textLabel.text = count + "/" + condition.num;

            if (count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }

            item = showProp;
        }
        else if (condition.costType == PrizeType.PRIZE_MONEY)
        {
            ResourcesManager.Instance.LoadAssetBundleTexture(constResourcesPath.MONEY_ICONPATH, Image);
            Image.width      = (int)smallPic.x;
            Image.height     = (int)smallPic.y;
            icon_back.width  = (int)iconPic.x;
            icon_back.height = (int)iconPic.y;
            icon_back.gameObject.SetActive(true);
            icon_back.spriteName = QualityManagerment.qualityIDToIconSpriteName(5);
            setNormalSprite(icon_back.spriteName);
            int count = UserManager.Instance.self.getMoney();
            textLabel.text = "x" + condition.num;

            if (count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }

            item = PrizeType.PRIZE_MONEY;
        }
        else if (condition.costType == PrizeType.PRIZE_RMB)
        {
            ResourcesManager.Instance.LoadAssetBundleTexture(constResourcesPath.RMB_ICONPATH, Image);
            Image.width      = (int)smallPic.x;
            Image.height     = (int)smallPic.y;
            icon_back.width  = (int)iconPic.x;
            icon_back.height = (int)iconPic.y;
            icon_back.gameObject.SetActive(true);
            int count = UserManager.Instance.self.getRMB();
            textLabel.text = "x" + condition.num;

            if (count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }

            item = PrizeType.PRIZE_RMB;
        }
        else if (condition.costType == PrizeType.PRIZE_MERIT)
        {
            ResourcesManager.Instance.LoadAssetBundleTexture(constResourcesPath.MERIT_ICONPATH, Image);
            Image.width      = (int)smallPic.x;
            Image.height     = (int)smallPic.y;
            icon_back.width  = (int)iconPic.x;
            icon_back.height = (int)iconPic.y;
            icon_back.gameObject.SetActive(true);
            icon_back.spriteName = QualityManagerment.qualityIDToIconSpriteName(5);
            setNormalSprite(icon_back.spriteName);
            int count = UserManager.Instance.self.merit;
            textLabel.text = "x" + condition.num;

            if (count >= condition.num)
            {
                textLabel.color = Color.green;
            }
            else
            {
                textLabel.color = Color.red;
            }

            item = PrizeType.PRIZE_MERIT;
        }
    }