//获得随机列表
    private List <PrizeSample> getRandomList()
    {
        List <PrizeSample> list = BattleDrawSampleManager.Instance.getBattleDrawSampleBySid(10000).list;

        PrizeSample[] copyArray = new PrizeSample[list.Count];
        list.CopyTo(copyArray);

        List <PrizeSample> copyList = new List <PrizeSample> ();

        ListKit.AddRange(copyList, copyArray);

        List <PrizeSample> outputList = new List <PrizeSample> ();

        System.Random rd = new System.Random(DateTime.Now.Millisecond);

        while (copyList.Count > 0)
        {
            int         rdIndex = rd.Next(0, copyList.Count - 1);
            PrizeSample remove  = copyList [rdIndex];

            copyList.Remove(remove);
            outputList.Add(remove);
        }
        return(outputList);
    }
Beispiel #2
0
 //设置创建按钮信息
 private void setCreatButton(PrizeSample _prize)
 {
     if (_prize == null)
     {
         return;
     }
     else
     {
         prize = _prize;
         icon.gameObject.SetActive(false);
         back.spriteName = QualityManagerment.qualityIDToIconSpriteName(_prize.getQuality());
         count           = StringKit.toInt(prize.num);
         if (prize.type == PrizeType.PRIZE_CARD)
         {
             card = CardManagerment.Instance.createCard(prize.pSid);
         }
         else if (prize.type == PrizeType.PRIZE_EQUIPMENT)
         {
             equip = EquipManagerment.Instance.createEquip(prize.pSid);
         }
         else if (prize.type == PrizeType.PRIZE_MAGIC_WEAPON)
         {
             magicWeapon = MagicWeaponManagerment.Instance.createMagicWeapon(prize.pSid);
         }
         else if (prize.type == PrizeType.PRIZE_PROP)
         {
             prop = PropManagerment.Instance.createProp(prize.pSid);
         }
         else if (prize.type == PrizeType.PRIZE_STARSOUL)
         {
             starSoul = StarSoulManager.Instance.createStarSoul(prize.pSid);
         }
         updateInfo();
     }
 }
    public void updateInfo()
    {
        cardExpLabel.text  = careDec;
        beastExpLabel.text = beastDec;
        if (selectPrizeList == null)
        {
            return;
        }
        for (int i = 0; i < selectPrizeList.Count; i++)
        {
            PrizeSample prize = selectPrizeList[i];
            if (prize == null)
            {
                continue;
            }
            GameObject obj         = NGUITools.AddChild(awardPoints, goodsVaViewPerfab);
            GoodsView  goodsButton = obj.GetComponent <GoodsView>();
            goodsButton.fatherWindow    = fatherWindow;
            goodsButton.onClickCallback = goodsButton.DefaultClickEvent;
            switch (prize.type)
            {
            case PrizeType.PRIZE_BEAST:
                goodsButton.gameObject.SetActive(true);
                Card beast = CardManagerment.Instance.createCard(prize.pSid);
                goodsButton.init(beast, true);
                break;

            case PrizeType.PRIZE_CARD:
                goodsButton.gameObject.SetActive(true);
                Card card = CardManagerment.Instance.createCard(prize.pSid);
                goodsButton.init(card, true);
                break;

            case PrizeType.PRIZE_EQUIPMENT:
                goodsButton.gameObject.SetActive(true);
                Equip equip = EquipManagerment.Instance.createEquip(prize.pSid);
                goodsButton.init(equip, true);
                break;

            case PrizeType.PRIZE_MONEY:
                goodsButton.gameObject.SetActive(true);
                PrizeSample prizeMoney = new PrizeSample(PrizeType.PRIZE_MONEY, 0, prize.num);
                goodsButton.init(prizeMoney, true);
                break;

            case PrizeType.PRIZE_PROP:
                goodsButton.gameObject.SetActive(true);
                Prop prop = PropManagerment.Instance.createProp(prize.pSid);
                goodsButton.init(prop, prize.getPrizeNumByInt(), true);
                break;

            case PrizeType.PRIZE_RMB:
                goodsButton.gameObject.SetActive(true);
                PrizeSample prizeRmb = new PrizeSample(PrizeType.PRIZE_RMB, 0, prize.num);
                goodsButton.init(prizeRmb, true);
                break;
            }
        }
        awardPoints.GetComponent <UIGrid>().Reposition();
    }
    /// <summary>
    /// 解析元数据
    /// </summary>
    public void bytesRead(ErlArray empArray)
    {
        int pos = 0;

        //获取列表中的位置
        localId    = StringKit.toInt(empArray.Value[pos++].getValueString());
        serverName = empArray.Value[pos++].getValueString();
        uid        = empArray.Value[pos++].getValueString();
        name       = empArray.Value[pos++].getValueString();
        isWin      = StringKit.toInt(empArray.Value[pos++].getValueString());
        //if(isWin==-1||isWin==0)return;
        ErlArray arr = empArray.Value[pos++] as ErlArray;

        if (arr.Value.Length > 0)
        {
            //确定写死(只支持货币)
            ErlArray tmp  = arr.Value[0] as ErlArray;
            int      pot  = 0;
            string   prop = tmp.Value[pot++].getValueString();

            ErlArray tt    = tmp.Value[pot++] as ErlArray;
            int      pt    = 0;
            string   goods = tt.Value[pt++].getValueString();
            int      sid   = StringKit.toInt(tt.Value[pt++].getValueString());
            int      num   = StringKit.toInt(tt.Value[pt++].getValueString());
            string   str   = goods + "," + sid + "," + num;
            prizes = new PrizeSample(str, ',');
        }
        freeState = StringKit.toInt(empArray.Value[pos++].getValueString());
    }
    //设置创建按钮信息
    private void setCreatButton(PrizeSample _prize)
    {
        if (_prize == null)
        {
            return;
        }
        else
        {
            prize = _prize;
            icon.gameObject.SetActive(false);
            back.spriteName = QualityManagerment.qualityIDToIconSpriteName(_prize.getQuality());
            switch (prize.type)
            {
            case PrizeType.PRIZE_MONEY:
                ResourcesManager.Instance.LoadAssetBundleTexture(constResourcesPath.MONEY_ICONPATH, icon);
                num.text = "x" + prize.num.ToString();
                break;

            case PrizeType.PRIZE_PROP:
                Prop prop = PropManagerment.Instance.createProp(prize.pSid);
                ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.ICONIMAGEPATH + prop.getIconId(), icon);
                num.text = "x" + prize.num.ToString();
                break;

            case PrizeType.PRIZE_RMB:
                ResourcesManager.Instance.LoadAssetBundleTexture(constResourcesPath.RMB_ICONPATH, icon);
                num.text = "x" + prize.num.ToString();
                break;
            }
            icon.gameObject.SetActive(true);
        }
    }
Beispiel #6
0
    /// <summary>
    /// 获取红装升星的金币消耗条件
    /// </summary>
    /// <param name="sid"></param>
    /// <returns></returns>
    public PrizeSample[] getMoneyCostBySid(int sid)
    {
        EquipStarSample sample = GetEquipStarSampleBySid(sid);

        if (sample == null)
        {
            return(null);
        }
        if (sample.redEquipStarConsumeMoneyValues == null)
        {
            return(null);
        }
        PrizeSample[] prizes = new PrizeSample[sample.redEquipStarConsumeMoneyValues.Length];
        for (int i = 0; i < sample.redEquipStarConsumeMoneyValues.Length; i++)
        {
            string      str   = sample.redEquipStarConsumeMoneyValues[i];
            string[]    strs  = str.Split(',');
            PrizeSample prize = new PrizeSample();
            if (strs.Length == 1)
            {
                prize.type = PrizeType.PRIZE_MONEY;
                prize.pSid = 0;
                prize.num  = strs[0];
            }
            else
            {
                prize.type = StringKit.toInt(strs[0]);
                prize.pSid = StringKit.toInt(strs[1]);
                prize.num  = strs[2];
            }
            prizes[i] = prize;
        }
        return(prizes);
    }
    public void awardCallBack()
    {
        UiManager.Instance.createPrizeMessageLintWindow(prizeDic[selectID]);
        WeekCardInfo.Instance.recevieState = WeekCardRecevieState.recevied;
        updateReceiveButton();
        for (int i = 0; i < prizeDic[selectID].Length; i++)
        {
            if (prizeDic[selectID][i].type == PrizeType.PRIZE_CARD)
            {
                Card card = CardManagerment.Instance.createCard(prizeDic[selectID][i].pSid);
                if (card != null)
                {
                    if (HeroRoadManagerment.Instance.activeHeroRoadIfNeed(card))
                    {
                        StartCoroutine(Utils.DelayRun(() => {
                            UiManager.Instance.openDialogWindow <TextTipWindow>((win) => {
                                win.init(LanguageConfigManager.Instance.getLanguage("s0418"), 0.8f);
                            });
                        }, 0.7f));
                    }
                }
            }
        }

        selectIcon.SetActive(false);
        selectID          = 0;
        selectPrizeSample = null;
    }
Beispiel #8
0
    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="reward">奖励</param>
    /// <param name="isAward">是否领取过</param>
//	public void init (TurnSpriteReward reward, bool isAward)
//	{
//		this.isAward = isAward;
//		CardSample sample = CardSampleManager.Instance.getRoleSampleBySid (reward.sid);
//		front.init (sample, null, null);
//		numLabel.text = "x" + reward.num.ToString ();
//	}

    public void init(TurnSpriteReward reward, bool isAward)
    {
        this.isAward = isAward;
        _front.clean();
        if (reward.type == "card")
        {
            CardSample sample = CardSampleManager.Instance.getRoleSampleBySid(reward.sid);
            front.gameObject.SetActive(true);
            front.init(sample, null, null);
            numLabel.text = "x" + reward.num.ToString();
        }
        else if (reward.type == "euip")
        {
            PrizeSample sample = new PrizeSample(PrizeType.PRIZE_EQUIPMENT, reward.sid, reward.num);
            _front.init(sample, true);
            numLabel.text = "x" + reward.num.ToString();
        }
        else if (reward.type == "goods")
        {
            PrizeSample sample = new PrizeSample(PrizeType.PRIZE_PROP, reward.sid, reward.num);
            _front.gameObject.SetActive(true);
            _front.init(sample, true);
            numLabel.text = "x" + reward.num.ToString();
        }
//		else if(reward.type == "starsoul") {
//
//			PrizeSample sample = new PrizeSample(PrizeType.PRIZE_STARSOUL,reward.sid,reward.num);
//			_front.init (sample);
//			numLabel.text = "x" + reward.num.ToString ();
//		}
    }
 /// <summary>
 /// 初始化item
 /// </summary>
 public void initItem(GodsWarMySuportInfo info)
 {
     this.info  = info;
     lblChangCi = getTypeByLocalId(info.localId);
     if (info.isWin == 1)
     {
         //lblName.text = LanguageConfigManager.Instance.getLanguage("godsWar_77",info.name);
         //lblPrize.text = LanguageConfigManager.Instance.getLanguage("godsWar_79",info.prizes.getPrizeNumByInt().ToString()+info.prizes.getPrizeName());
         lblContet.text = lblChangCi + " " + LanguageConfigManager.Instance.getLanguage("godsWar_77", info.name) + " " + LanguageConfigManager.Instance.getLanguage("godsWar_79", info.prizes.getPrizeNumByInt().ToString() + info.prizes.getPrizeName());
     }
     else if (info.isWin == -1)
     {
         lblName = LanguageConfigManager.Instance.getLanguage("godsWar_81", info.name);
         //int sid = GoodsSampleManager.Instance.getGoodsSampleBySid(GoodsSampleManager.Instance.getAllShopGoods(ShopType.GODSWAR_SHOP)[0]).costToolSid;
         //string name = PropManagerment.Instance.createProp(sid).getName(); //StorageManagerment.Instance.getProp(sid).getName();
         int         a  = GodsWarManagerment.Instance.getTypeByLocalId(info.localId);
         PrizeSample ps = GodsWarPrizeSampleManager.Instance.getSuportPrize()[a - 1].item[0];
         // PrizeSample pss = info.prizes;
         //lblPrize = LanguageConfigManager.Instance.getLanguage("godsWar_810",getPrePrizeNumByLocalID().ToString()+name);
         lblPrize       = LanguageConfigManager.Instance.getLanguage("godsWar_810", info.freeState == 0 ? ps.num + ps.getPrizeName() : (StringKit.toInt(ps.num) * 3) + ps.getPrizeName());
         lblContet.text = lblChangCi + " " + lblName + " " + lblPrize;
     }
     else
     {
         lblContet.text = lblChangCi + " " + LanguageConfigManager.Instance.getLanguage("godsWar_78", info.name);
     }
 }
    private CallBack backOpen;    //需要重新打开的主窗口调用

    public void initPrize(PrizeSample _prize, WindowBase win, CallBack _back, CallBack _back2)
    {
        fatherWindow   = win;
        this.backClose = _back;
        this.backOpen  = _back2;
        setCreatButton(_prize);
    }
    public PrizeSample getPrizeFromAward(TurnSpriteReward arard)
    {
        PrizeSample pl = null;

        if (arard != null)
        {
            if (arard.type == "card")
            {
                pl = new PrizeSample(5, arard.sid, arard.num, arard.index);
            }
            if (arard.type == "equip")
            {
                pl = new PrizeSample(4, arard.sid, arard.num, arard.index);
            }
            if (arard.type == "goods")
            {
                pl = new PrizeSample(3, arard.sid, arard.num, arard.index);
            }
            if (arard.type == "artifact")
            {
                pl = new PrizeSample(21, arard.sid, arard.num, arard.index);
            }
        }
        return(pl);
    }
Beispiel #12
0
 public void init(PrizeSample prize, bool _need)
 {
     initClear();
     this.prize = prize;
     this.count = prize.getPrizeNumByInt();
     quality    = prize.getQuality();
     if (_need)
     {
         //specialName.gameObject.SetActive(true);
         if (quality == 5)
         {
             specialName.color = color5;
         }
         if (quality == 4)
         {
             specialName.color = color4;
         }
         if (quality == 3)
         {
             specialName.color = color2;
         }
         if (quality == 2)
         {
             specialName.color = color3;                     //这里颜色反了,继续反
         }
         if (quality == 1)
         {
             specialName.color = color1;
         }
         //specialName.text = prize.getPrizeName();
     }
     specialName.gameObject.SetActive(true);
     specialName.text = prize.getPrizeName();
     UpdateInfo();
 }
 private PrizeSample[][] loadMissionPrizes()
 {
     PrizeSample[][] prizes = new PrizeSample[2][];
     prizes [PRIZES_GENERAL_TYPE] = mission.getPrizes();
     prizes [PRIZES_FIRST_TYPE]   = mission.getFirstPrizes();
     return(prizes);
 }
 public void cleanData()
 {
     Image.alpha     = 0;
     icon_back.alpha = 0;
     textLabel.alpha = 0;
     prize           = null;
 }
Beispiel #15
0
    //根据奖励信息返回奖励名称
    public string getNameByType(PrizeSample _ps)
    {
        switch (_ps.type)
        {
        case 5:
            return(CardSampleManager.Instance.getRoleSampleBySid(_ps.pSid).name);

        case 6:
            return(CardSampleManager.Instance.getRoleSampleBySid(_ps.pSid).name);

        case 4:
            return(EquipmentSampleManager.Instance.getEquipSampleBySid(_ps.pSid).name);

        case 1:
            return(LanguageConfigManager.Instance.getLanguage("s0049"));

        case 2:
            return(LanguageConfigManager.Instance.getLanguage("s0048"));

        case 3:
            return(PropSampleManager.Instance.getPropSampleBySid(_ps.pSid).name);

        case PrizeType.PRIZE_STARSOUL_DEBRIS:
            return(LanguageConfigManager.Instance.getLanguage("s0466"));

        case PrizeType.PRIZE_STARSOUL:
            return(StarSoulSampleManager.Instance.getStarSoulSampleBySid(_ps.pSid).name);

        case PrizeType.PRIZE_MAGIC_WEAPON:
            return(MagicWeaponSampleManager.Instance.getMagicWeaponSampleBySid(_ps.pSid).name);

        default:
            return("");
        }
    }
Beispiel #16
0
 private void sendExtractBack()
 {
     //UiManager.Instance.createMessageLintWindow (LanguageConfigManager.Instance.getLanguage ("s0202"));
     if (mail.annex != null)
     {
         Card c;
         List <PrizeSample> prizes = new List <PrizeSample>();
         for (int i = 0; i < mail.annex.Length; i++)
         {
             PrizeSample ps = getPrize(mail.annex [i]);
             if (ps.type == PrizeType.PRIZE_CARD)
             {
                 c = CardManagerment.Instance.createCard(ps.pSid);
                 for (int j = 0; j < ps.getPrizeNumByInt(); j++)
                 {
                     if (HeroRoadManagerment.Instance.activeHeroRoadIfNeed(c))
                     {
                         TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("s0418"));
                     }
                 }
             }
             prizes.Add(ps);
         }
         UiManager.Instance.createPrizeMessageLintWindow(prizes.ToArray());
     }
     extractBack();
 }
Beispiel #17
0
 private void parseContent(string str)
 {
     string[] strs = str.Split('#');
     for (int i = 0; i < strs.Length; i++)
     {
         string[]    strss = strs[i].Split(',');
         int         type  = StringKit.toInt(strss[0]);
         int         sid   = StringKit.toInt(strss[1]);
         int         num   = StringKit.toInt(strss[2]);
         PrizeSample prize = new PrizeSample(type, sid, num);
         if (list == null)
         {
             list = new List <PrizeSample> ();
         }
         list.Add(prize);
         if (daySids == null)
         {
             daySids = new List <int>();
         }
         daySids.Add(StringKit.toInt(strss[3]));
         if (types == null)
         {
             types = new List <int>();
         }
         types.Add(StringKit.toInt(strss[4]));
     }
 }
Beispiel #18
0
 public void init(PrizeSample prize, int state, int dayNum, int sid, int type)
 {
     this.count      = StringKit.toInt(prize.num);
     this.signState  = state;
     this.prize      = prize;
     this.dayOfMonth = dayNum;
     this.sid        = sid;
     this.type       = type;
     if (prize.type == PrizeType.PRIZE_CARD)
     {
         card = CardManagerment.Instance.createCard(prize.pSid);
     }
     else if (prize.type == PrizeType.PRIZE_EQUIPMENT)
     {
         equip = EquipManagerment.Instance.createEquip(prize.pSid);
     }
     else if (prize.type == PrizeType.PRIZE_MAGIC_WEAPON)
     {
         magicWeapon = MagicWeaponManagerment.Instance.createMagicWeapon(prize.pSid);
     }
     else if (prize.type == PrizeType.PRIZE_PROP)
     {
         prop = PropManagerment.Instance.createProp(prize.pSid);
     }
     else if (prize.type == PrizeType.PRIZE_STARSOUL)
     {
         starSoul = StarSoulManager.Instance.createStarSoul(prize.pSid);
     }
     UpdateInfo();
 }
Beispiel #19
0
 public void clickPrize(GameObject obj)
 {
     canRecevie        = true;
     selectPrizeSample = obj.GetComponent <GoodsView>().prize;
     selectID          = StringKit.toInt(obj.name);
     setSelectIcon(obj.transform);
 }
Beispiel #20
0
    //检测是否可接受奖励
    public bool checkStoreFull(PrizeSample prize, out string str)
    {
        switch (prize.type)
        {
        case PrizeType.PRIZE_CARD:
            if (StorageManagerment.Instance.isRoleStorageFull(prize.getPrizeNumByInt()) == true)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0192", LanguageConfigManager.Instance.getLanguage("s0193"));
                return(true);
            }

            break;

        case PrizeType.PRIZE_BEAST:
            if (StorageManagerment.Instance.isBeastStorageFull(prize.getPrizeNumByInt()) == true)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0192", LanguageConfigManager.Instance.getLanguage("s0194"));
                return(true);
            }
            break;

        case PrizeType.PRIZE_EQUIPMENT:
            if (StorageManagerment.Instance.isEquipStorageFull(prize.getPrizeNumByInt()) == true)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0192", LanguageConfigManager.Instance.getLanguage("s0195"));
                return(true);
            }
            break;

        case PrizeType.PRIZE_PROP:
            if (StorageManagerment.Instance.isPropStorageFull(prize.pSid) == true)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0192", LanguageConfigManager.Instance.getLanguage("s0196"));
                return(true);
            }
            break;

        case PrizeType.PRIZE_MONEY:

            if (prize.getPrizeNumByLong() + UserManager.Instance.self.getMoney() > int.MaxValue)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0198");
                return(true);
            }
            break;

        case PrizeType.PRIZE_RMB:

            if (prize.getPrizeNumByLong() + UserManager.Instance.self.getRMB() > int.MaxValue)
            {
                str = LanguageConfigManager.Instance.getLanguage("s0199");
                return(true);
            }
            break;
        }
        //false 仓库没满
        str = "";
        return(false);
    }
Beispiel #21
0
 public void init(PrizeSample prize, int num)
 {
     initClear();
     this.prize = prize;
     this.count = num;
     quality    = prize.getQuality();
     UpdateInfo();
 }
Beispiel #22
0
    private PrizeSample getPrize()
    {
        PrizeSample ps = ic.prizes [0];

        currentNum = ps.getPrizeNumByInt();
        namelabel  = AllAwardViewManagerment.Instance.getNameByType(ps);
        return(ps);
    }
Beispiel #23
0
    private PrizeSample getPrize()
    {
        TaskSample  ts = TaskSampleManager.Instance.getTaskSampleBySid(task.sid);
        PrizeSample ps = ts.prizes [task.index - 1];

        currentNum = ps.getPrizeNumByInt();
        return(ps);
    }
    /// <summary>
    /// 开始更新星魂仓库的每一条数据
    /// </summary>
    /// <param name="item">Item.</param>
    /// <param name="index">Index.</param>
    public override void updateItem(GameObject item, int index)
    {
        PrizeSample prizeSample = prizes [index];
        GoodsView   button      = item.GetComponent <GoodsView> ();

        button.fatherWindow = winn;
        button.init(prizeSample);
    }
Beispiel #25
0
 public override void parse(int sid, string str)
 {
     string[] strs = str.Split('|');
     this.sid = sid;
     title    = strs[1];
     parseConditions(strs[2]);
     prize = parsePrize(strs[3]);
 }
Beispiel #26
0
 public void init(PrizeSample prize)
 {
     initClear();
     this.prize = prize;
     this.count = prize.getPrizeNumByInt();
     quality    = prize.getQuality();
     UpdateInfo();
 }
Beispiel #27
0
    public bool unclaimed = false; //是否领取过

    public override void parse(int sid, string str)
    {
        string[] strArr = str.Split('|');
        checkLength(strArr.Length, 1);
        this.needLevel   = strArr[0];
        this.backPercent = StringKit.toInt(strArr[1]);
        prize            = parsePrize();
    }
Beispiel #28
0
    PrizeSample parsePrize()
    {
        PrizeSample sample = new PrizeSample();

        sample.type = PrizeType.PRIZE_RMB;
        sample.pSid = 0;
        sample.num  = "20";
        return(sample);
    }
Beispiel #29
0
 public void init(PrizeSample prize, CallBack <RoleView> onClickCallback)
 {
     this.prize = prize;
     ResourcesManager.Instance.LoadAssetBundleTexture(prize.getIconPath(), icon);
     if (qualityBg != null)
     {
         qualityBg.spriteName = QualityManagerment.qualityIDToBackGround(prize.getQuality());
     }
 }
Beispiel #30
0
 private void parseCondtions(string str)
 {
     string[] strArr = str.Split('#');
     condition = new PrizeSample[strArr.Length];
     for (int i = 0; i < strArr.Length; i++)
     {
         condition[i] = new PrizeSample(strArr[i], ',');
     }
 }