public void Init(GuildLuckyNvShenShakeResult resultData) { this.shakeResultData = resultData; /** 初始化结果显示 */ string [] resultStrs = shakeResultData.getResultsString(); for (int i = 0; i < resultStrs.Length; i++) { eblowViews[i].Init(resultStrs[i]); } /** 初始化结果描述 */ List <PrizeSample> rewards = ShakeEblowsRewardSampleManager.Instance().GetPrizeByResult(shakeResultData); awardDes.text = Language("GuildLuckyNvShen_15"); foreach (PrizeSample p in rewards) { awardDes.text += p.getPrizeName() + "+" + p.num + ","; } awardDes.text = awardDes.text.Substring(0, awardDes.text.Length - 1); /** 初始化按钮显示 */ GuildLuckyNvShenInfo info = GuildManagerment.Instance.getGuildLuckyNvShenInfo(); if (info != null) { if (info.reShakeCount <= 0) { buttonReshake.textLabel.text = Language("GuildLuckyNvShen_17") + "(0)"; buttonReshake.GetComponent <UIButton>().isEnabled = false; } else { buttonReshake.textLabel.text = Language("GuildLuckyNvShen_17") + "(" + info.reShakeCount + ")"; buttonReshake.GetComponent <UIButton>().isEnabled = true; } } /** 初始化规则描述 */ List <ShakeEblowsRewardSample> allSample = ShakeEblowsRewardSampleManager.Instance().GetNormalShakeEblowRewardSamples(); shakeRewardContent.Init(allSample); shakeRewardContent.otherDes.text = Colors.RED + ShakeEblowsRewardSampleManager.Instance().GetFiveDiffSample().getPrizesDesc(); /** 初始化加锁信息 */ lockEblows(GuildLuckyNvShenWindow.lockString); //MaskWindow.UnlockUI(); }
/// <summary> /// 通过投掷结果获取奖励列表 /// </summary> public List <PrizeSample> GetPrizeByResult(GuildLuckyNvShenShakeResult result) { List <PrizeSample> prizes = new List <PrizeSample> (); prizes.AddRange(GetPrizeByResult(baseReward, 1)); //获取基础奖励 if (result.isFiveDifferentResult()) { prizes.AddRange(GetPrizeByResult(fiveDiffSid, 1)); //五个完全不同面的奖励 } //正常奖励 Hashtable resultTable = result.getResultTable(); foreach (DictionaryEntry d in resultTable) { int sid = int.Parse(d.Key.ToString()); int num = int.Parse(d.Value.ToString()); List <PrizeSample> temp = GetPrizeByResult(sid, num); prizes.AddRange(temp); } List <PrizeSample> finalPrizes = new List <PrizeSample> (); PrizeSample tempPrize; /** 合并相同的奖励,剔除空奖励*/ for (int i = 0; i < prizes.Count; ++i) { tempPrize = prizes [i]; if (tempPrize.getPrizeNumByInt() == 0) { continue; } for (int j = i + 1; j < prizes.Count; ++j) { if (prizes [j].type == tempPrize.type) { tempPrize.addNum(prizes [j].getPrizeNumByInt()); prizes [j].num = "0"; } } finalPrizes.Add(tempPrize); } return(finalPrizes); }
public void createGuildShakeResult(string[] shakeResult) { guildShakeResult = new GuildLuckyNvShenShakeResult(shakeResult); }
public void clearGuildShakeResult() { guildShakeResult = null; }