//解析模板数据
    public override void parseSample(int sid)
    {
        ArenaAwardSample sample  = new ArenaAwardSample();
        string           dataStr = getSampleDataBySid(sid);

        sample.parse(sid, dataStr);
        samples.Add(sid, sample);
    }
Beispiel #2
0
    /// <summary>
    /// 更新奖励
    /// </summary>
    public void initialize(ArenaAwardSample _data, WindowBase win, ArenaIntegralAwardContent content)
    {
        bottons.SetActive(false);
        fwin         = win;
        data         = _data;
        this.content = content;
        if (data.getType == ShenGeManager.DOUBLEGET)
        {
            buttonMore.textLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_023");
            bottons.SetActive(true);
            receiveButton.gameObject.SetActive(false);
            reciveCommonButton.fatherWindow = win;
            buttonMore.fatherWindow         = win;
            reciveCommonButton.onClickEvent = onReceiveButtonClick;
            buttonMore.onClickEvent         = onMoreReceiveButtonClick;
        }
        else if (data.getType == ShenGeManager.THREEGET)
        {
            buttonMore.textLabel.text = LanguageConfigManager.Instance.getLanguage("NvShenShenGe_024");
            bottons.SetActive(true);
            receiveButton.gameObject.SetActive(false);
            reciveCommonButton.fatherWindow = win;
            buttonMore.fatherWindow         = win;
            reciveCommonButton.onClickEvent = onReceiveButtonClick;
            buttonMore.onClickEvent         = onMoreReceiveButtonClick;
        }
        receiveButton.fatherWindow = win;
        receiveButton.disableButton(!(ArenaAwardManager.Instance.awardCanReceive(data) && ArenaAwardManager.Instance.getArenaAwardInfo(data) != null && !ArenaAwardManager.Instance.getArenaAwardInfo(data).received));
        reciveCommonButton.disableButton(!(ArenaAwardManager.Instance.awardCanReceive(data) && ArenaAwardManager.Instance.getArenaAwardInfo(data) != null && !ArenaAwardManager.Instance.getArenaAwardInfo(data).received));
        buttonMore.disableButton(!(ArenaAwardManager.Instance.awardCanReceive(data) && ArenaAwardManager.Instance.getArenaAwardInfo(data) != null && !ArenaAwardManager.Instance.getArenaAwardInfo(data).received));
        if (ArenaAwardManager.Instance.getArenaAwardInfo(data) != null && ArenaAwardManager.Instance.getArenaAwardInfo(data).received)
        {
            receiveButton.textLabel.text      = LanguageConfigManager.Instance.getLanguage("recharge02");
            reciveCommonButton.textLabel.text = LanguageConfigManager.Instance.getLanguage("recharge02");
            buttonMore.textLabel.text         = LanguageConfigManager.Instance.getLanguage("recharge02");
        }
        else
        {
            receiveButton.textLabel.text      = LanguageConfigManager.Instance.getLanguage("s0309");
            reciveCommonButton.textLabel.text = LanguageConfigManager.Instance.getLanguage("s0309");
        }
        receiveButton.onClickEvent = onReceiveButtonClick;
        description.text           = LanguageConfigManager.Instance.getLanguage("GuildLuckyNvShen_18") + data.condition;
        description.text          += (ArenaAwardManager.Instance.getArenaAwardInfo(data) == null || !ArenaAwardManager.Instance.getArenaAwardInfo(data).received) ? "(1/1)" : "(0/1)";

        PrizeSample[] prizes = data.prizes;
        UIUtils.M_removeAllChildren(root_prize);
        awardButtons = new GoodsView[prizes.Length];
        for (int i = 0; i < awardButtons.Length; i++)
        {
            awardButtons[i] = NGUITools.AddChild(root_prize, prefab_GoodsView).GetComponent <GoodsView>();
            awardButtons[i].transform.localPosition = new Vector3(i * 96f, 0, 0);
            awardButtons[i].transform.localScale    = new Vector3(0.8f, 0.8f, 0.8f);
            awardButtons[i].fatherWindow            = fwin;
            awardButtons[i].init(prizes[i]);
        }
    }
 /// <summary>
 /// 根据赛事ID获取奖励描述
 /// </summary>
 public string getGuessPrizeDescription(int finalEventId)
 {
     foreach (object key in data.Keys)
     {
         ArenaAwardSample sample = getArenaAwardSampleBySid((int)key);
         if (sample.type == ArenaAwardSample.TYPE_GUESS && sample.condition == finalEventId)
         {
             return(sample.prizeDescription);
         }
     }
     return("");
 }
Beispiel #4
0
    public override void copy(object destObj)
    {
        base.copy(destObj);
        ArenaAwardSample dest = destObj as ArenaAwardSample;

        if (this.prizes != null)
        {
            dest.prizes = new PrizeSample[this.prizes.Length];
            for (int i = 0; i < dest.prizes.Length; i++)
            {
                dest.prizes [i] = this.prizes [i].Clone() as PrizeSample;
            }
        }
    }
Beispiel #5
0
    public ArenaAwardInfo getArenaAwardInfo(ArenaAwardSample tmp)
    {
        if (integralAwardInfos == null)
        {
            return(null);
        }
        int integralNum = (ArenaManager.instance.self == null ? 0 : ArenaManager.instance.self.integral);

        foreach (ArenaAwardInfo info in integralAwardInfos)
        {
            if (info.sample.sid == tmp.sid && tmp.condition <= integralNum)
            {
                return(info);
            }
        }
        return(null);
    }
Beispiel #6
0
    /// <summary>
    /// 判断指定奖励是否可领取
    /// </summary>
    public bool awardCanReceive(ArenaAwardSample tmp)
    {
        if (integralAwardInfos == null)
        {
            return(false);
        }
        int integralNum = ArenaManager.instance.finalMyIntergal;//(ArenaManager.instance.self == null ? 0 : ArenaManager.instance.self.integral);

        foreach (ArenaAwardInfo info in integralAwardInfos)
        {
            if (info.sample.sid == tmp.sid && tmp.condition <= integralNum)
            {
                return(true);
            }
        }
        return(false);
    }
    public List <ArenaAwardSample> getSamplesByType(int type)
    {
        List <ArenaAwardSample> list = new List <ArenaAwardSample>();

        int[] ids = new int[data.Count];
        int   pos = 0;

        foreach (object key in data.Keys)
        {
            ids[pos++] = (int)key;
        }
        Array.Sort(ids);

        for (int i = 0; i < ids.Length; i++)
        {
            ArenaAwardSample sample = getArenaAwardSampleBySid(ids[i]);
            if (sample.type == type)
            {
                list.Add(sample);
            }
        }
        return(list);
    }
    /// <summary>
    /// 获取竞猜积分奖励领取方式(普通,双倍,3倍)
    /// </summary>
    /// <returns></returns>
    public int getIntegralPrizesType(int sid)
    {
        ArenaAwardSample sample = getArenaAwardSampleBySid(sid);

        return(StringKit.toInt(sample.prizeDescription));
    }
Beispiel #9
0
    /// <summary>
    /// 占卜后回调
    /// </summary>
    /// <param name="num">增加运势.</param>
    /// <param name="awardSid">基础奖励sid.</param>
    /// <param name="shareAward">分享额外增加运势.</param>
    private void OnDivineSendBack(int num, int awardSid, int shareAward)
    {
        UserManager.Instance.self.canDivine = false;
        nvshen.SetActive(false);

        int add = num;        //num - UserManager.Instance.self.divineFortune;

        if (add <= 0)
        {
            finishWindow();
            return;
        }
        Destroy(effect);
        if (shareAward > 0)
        {
            lblYunShiTitle.text = LanguageConfigManager.Instance.getLanguage("divine_01", UserManager.Instance.self.divineFortune.ToString(), add.ToString(), shareAward.ToString());
        }
        else
        {
            lblYunShiTitle.text = LanguageConfigManager.Instance.getLanguage("divine_010", UserManager.Instance.self.divineFortune.ToString(), add.ToString());
        }
        int max    = StringKit.toInt(LanguageConfigManager.Instance.getLanguage("divine_yunshi_" + add + "_count"));
        int random = Random.Range(0, max);

        lblYunShiContent.text = LanguageConfigManager.Instance.getLanguage("divine_yunshi_" + add + "_" + random);
        lblMyInfo.text        = LanguageConfigManager.Instance.getLanguage("divine_06", UserManager.Instance.self.divineFortune.ToString(), add.ToString());
        if (shareAward > 0)
        {
            lblMyInfo.text += string.Format(Colors.RED + LanguageConfigManager.Instance.getLanguage("divine_07") + "[-]", shareAward);
        }

        //刷新我的运势
        //int oldDivineFortune = UserManager.Instance.self.divineFortune;

        int addTotalValue = num + shareAward;

        UserManager.Instance.self.addDivineFortune(addTotalValue);

        //隐藏占卜前的奖励提示
        awards [0].transform.parent.parent.gameObject.SetActive(true);
//		awardText01.gameObject.SetActive (false);
        awardText02.gameObject.SetActive(false);
        awardTips01.gameObject.SetActive(false);
        awardTips02.gameObject.SetActive(false);
        //获得奖励样本
        ArenaAwardSample sample = ArenaAwardSampleManager.Instance.getArenaAwardSampleBySid(awardSid);
        int awardConut          = 0;

        if (sample != null)
        {
            PrizeSample[] ps = sample.prizes;
            for (int i = 0; i < awards.Length && ps != null && i < ps.Length; i++)
            {
                awards [i].gameObject.SetActive(true);
                awards [i].init(ps [i]);
                awards [i].fatherWindow = this;
                awardConut = i;
            }
        }

        //根据运势值获得的奖励
        int divineFortune                = UserManager.Instance.self.divineFortune;
        int oldDivineFortune             = divineFortune - addTotalValue;
        List <ArenaAwardSample> infoList = ArenaAwardSampleManager.Instance.getSamplesByType(AWARD_TYPE);
        ArenaAwardSample        a;

        PrizeSample[] sampleAward = null;
        for (int i = 0; i < infoList.Count; ++i)
        {
            a = infoList[i];
            if (a.condition == 0)
            {
                continue;
            }
            if (oldDivineFortune < a.condition && divineFortune >= a.condition)
            {
                sampleAward = a.prizes;
            }
        }
//		List<ArenaAwardSample> infoList = ArenaAwardSampleManager.Instance.getSamplesByType (AWARD_TYPE);
//		PrizeSample[] sampleAward = null;
//		for (int i = 0; i < infoList.Count; i++) {
//			if (infoList [i].condition != 0 && divineFortune == infoList [i].condition && i + 1 < infoList.Count && divineFortune < infoList [i + 1].condition) {
//				sampleAward = infoList [i].prizes;
//			} else if (infoList [i].condition != 0 && divineFortune >= infoList [i].condition && i + 1 >= infoList.Count) {
//				sampleAward = infoList [i].prizes;
//			}
//		}
        if (sampleAward != null)
        {
            for (int j = 0; j < sampleAward.Length; j++)
            {
                awards [3 + j].gameObject.SetActive(true);
                awards [3 + j].init(sampleAward [j]);
                awards [3 + j].fatherWindow = this;
            }
        }
        btnDivine.SetActive(false);
        btnDivineShare.SetActive(false);
        btnClose.SetActive(true);
        updateExp();
        yunshi.SetActive(true);
        MaskWindow.UnlockUI();
        //TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("divine_03"));
    }