|
@@ -46,7 +46,8 @@ namespace Fort23.Mono
|
|
|
StartRoot.gameObject.SetActive(summonData.isSummonSocre);
|
|
|
if (summonData.isSummonSocre)
|
|
|
{
|
|
|
- Text_JingDu.text = $"当前进度:{summonData.drawHistory.Count*10}/{openBoxConfig.ProgressRewardChoukaCount}";
|
|
|
+ Text_JingDu.text =
|
|
|
+ $"当前进度:{summonData.drawHistory.Count * 10}/{openBoxConfig.ProgressRewardChoukaCount}";
|
|
|
Text_Score.text = $"目前得分:{summonData.score}";
|
|
|
}
|
|
|
});
|
|
@@ -56,31 +57,22 @@ namespace Fort23.Mono
|
|
|
{
|
|
|
summonData = PlayerManager.Instance.SummonManager.summonDataMap[2];
|
|
|
openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(summonData.id);
|
|
|
- List<OpenBoxScoreRule> openBoxScoreRules = PlayerManager.Instance.SummonManager.openBoxScoreRuleMap[2];
|
|
|
+ openBoxProgressRewards = ConfigComponent.Instance.GetAll<OpenBoxProgressReward>();
|
|
|
Btn_Ok.gameObject.SetActive(!summonData.isSummonSocre);
|
|
|
StartRoot.gameObject.SetActive(summonData.isSummonSocre);
|
|
|
if (summonData.isSummonSocre)
|
|
|
{
|
|
|
- Text_JingDu.text = $"当前进度:{summonData.drawHistory.Count*10}/{openBoxConfig.ProgressRewardChoukaCount}";
|
|
|
+ Text_JingDu.text =
|
|
|
+ $"当前进度:{summonData.drawHistory.Count * 10}/{openBoxConfig.ProgressRewardChoukaCount}";
|
|
|
Text_Score.text = $"目前得分:{summonData.score}";
|
|
|
}
|
|
|
-
|
|
|
- for (var i = 0; i < openBoxScoreRules.Count; i++)
|
|
|
- {
|
|
|
- SummonScoreRuleWidget summonScoreRuleWidget =
|
|
|
- await UIManager.Instance.CreateGComponent<SummonScoreRuleWidget>(null, Content1);
|
|
|
- summonScoreRuleWidget.CustomInit(openBoxScoreRules[i], i);
|
|
|
- summonScoreRuleWidgets.Add(summonScoreRuleWidget);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- openBoxProgressRewards = ConfigComponent.Instance.GetAll<OpenBoxProgressReward>();
|
|
|
- foreach (var openBoxProgressReward in openBoxProgressRewards)
|
|
|
+
|
|
|
+ using (CTaskAwaitBuffer cts =
|
|
|
+ new CTaskAwaitBuffer())
|
|
|
{
|
|
|
- SummonScoreAwardWidget summonScoreAwardWidget =
|
|
|
- await UIManager.Instance.CreateGComponent<SummonScoreAwardWidget>(null, Content2);
|
|
|
- summonScoreAwardWidget.CustomInit(openBoxProgressReward, AwardSummonScore);
|
|
|
- summonScoreAwardWidgets.Add(summonScoreAwardWidget);
|
|
|
+ cts.AddTask(CreatSummonScoreRuleWidget());
|
|
|
+ cts.AddTask(CreatSummonScoreAwardWidget());
|
|
|
+ await cts.WaitAll();
|
|
|
}
|
|
|
|
|
|
for (var i = summonScoreAwardWidgets.Count - 1; i >= 0; i--)
|
|
@@ -89,7 +81,7 @@ namespace Fort23.Mono
|
|
|
{
|
|
|
summonScoreAwardWidgets[i].Icon_Select.gameObject.SetActive(true);
|
|
|
|
|
|
- if (summonData.drawHistory.Count*10 >= openBoxConfig.ProgressRewardChoukaCount)
|
|
|
+ if (summonData.drawHistory.Count * 10 >= openBoxConfig.ProgressRewardChoukaCount)
|
|
|
{
|
|
|
summonScoreAwardWidgets[i].Btn_LingQu.gameObject.SetActive(true);
|
|
|
}
|
|
@@ -101,11 +93,53 @@ namespace Fort23.Mono
|
|
|
return await base.AsyncInit(uiData);
|
|
|
}
|
|
|
|
|
|
+ private async CTask CreatSummonScoreRuleWidget()
|
|
|
+ {
|
|
|
+ List<OpenBoxScoreRule> openBoxScoreRules = PlayerManager.Instance.SummonManager.openBoxScoreRuleMap[2];
|
|
|
+ using (CTaskAwaitBuffer<SummonScoreRuleWidget> ctb =
|
|
|
+ new CTaskAwaitBuffer<SummonScoreRuleWidget>())
|
|
|
+ {
|
|
|
+ for (var i = 0; i < openBoxScoreRules.Count; i++)
|
|
|
+ {
|
|
|
+ ctb.AddTask(
|
|
|
+ UIManager.Instance.CreateGComponent<SummonScoreRuleWidget>(null, Content1));
|
|
|
+ }
|
|
|
+
|
|
|
+ summonScoreRuleWidgets = await ctb.WaitAll();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (var i = 0; i < openBoxScoreRules.Count; i++)
|
|
|
+ {
|
|
|
+ summonScoreRuleWidgets[i].CustomInit(openBoxScoreRules[i], i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private async CTask CreatSummonScoreAwardWidget()
|
|
|
+ {
|
|
|
+ using (CTaskAwaitBuffer<SummonScoreAwardWidget> ctb =
|
|
|
+ new CTaskAwaitBuffer<SummonScoreAwardWidget>())
|
|
|
+ {
|
|
|
+ for (var i = 0; i < openBoxProgressRewards.Length; i++)
|
|
|
+ {
|
|
|
+ ctb.AddTask(
|
|
|
+ UIManager.Instance.CreateGComponent<SummonScoreAwardWidget>(null, Content2));
|
|
|
+ }
|
|
|
+
|
|
|
+ summonScoreAwardWidgets = await ctb.WaitAll();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (var i = 0; i < openBoxProgressRewards.Length; i++)
|
|
|
+ {
|
|
|
+ summonScoreAwardWidgets[i].CustomInit(openBoxProgressRewards[i], AwardSummonScore);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void AwardSummonScore()
|
|
|
{
|
|
|
//到达进度自动领取奖励
|
|
|
if (openBoxConfig.ProgressRewardChoukaCount != -1 &&
|
|
|
- summonData.drawHistory.Count*10 >= openBoxConfig.ProgressRewardChoukaCount)
|
|
|
+ summonData.drawHistory.Count * 10 >= openBoxConfig.ProgressRewardChoukaCount)
|
|
|
{
|
|
|
for (var i = openBoxProgressRewards.Length - 1; i >= 0; i--)
|
|
|
{
|