feat(battle-engine): close the AI-simulation subsystem (verbatim)
Copied the 89 uncopied AI*SimulationUtility/extension files defining the AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
This commit is contained in:
270
SVSim.BattleEngine/Engine/ColosseumDetail.cs
Normal file
270
SVSim.BattleEngine/Engine/ColosseumDetail.cs
Normal file
@@ -0,0 +1,270 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Wizard;
|
||||
using Wizard.ErrorDialog;
|
||||
|
||||
public class ColosseumDetail : MonoBehaviour
|
||||
{
|
||||
private enum eTitleLabel
|
||||
{
|
||||
StageName,
|
||||
TimeStart,
|
||||
TimeEnd,
|
||||
Max
|
||||
}
|
||||
|
||||
private enum eGroupLabel
|
||||
{
|
||||
Group,
|
||||
BattleNum,
|
||||
BreakThrough,
|
||||
Retry
|
||||
}
|
||||
|
||||
[SerializeField]
|
||||
private UILabel _formatLabel;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel _timeLabel;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel _ownStatusLabel;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round1TitleLabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round2TitleLabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round3TitleLabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round1GroupLabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round2GroupALabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round2GroupBLabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round3GroupALabels;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel[] _round3GroupBLabels;
|
||||
|
||||
public void Init(DialogBase inDialog)
|
||||
{
|
||||
SystemText systemText = Wizard.Data.SystemText;
|
||||
ArenaColosseum colosseumData = Wizard.Data.ArenaData.ColosseumData;
|
||||
inDialog.SetSize(DialogBase.Size.M);
|
||||
inDialog.SetTitleLabel(systemText.Get("Common_0022"));
|
||||
inDialog.SetButtonLayout(DialogBase.ButtonLayout.GrayBtn_GrayBtn);
|
||||
inDialog.SetButtonText(systemText.Get("Colosseum_0023"), systemText.Get("Colosseum_0025"));
|
||||
inDialog.onPushButton1 = delegate
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Wizard.Data.ArenaData.ColosseumData.AnnounceNo))
|
||||
{
|
||||
UIManager.GetInstance().WebViewHelper.OpenAnnounceWebView(Wizard.Data.ArenaData.ColosseumData.AnnounceNo);
|
||||
}
|
||||
else
|
||||
{
|
||||
Dialog.Create(4416);
|
||||
}
|
||||
};
|
||||
inDialog.onPushButton2 = delegate
|
||||
{
|
||||
if (Wizard.Data.ArenaData.ColosseumData.Rule == ArenaColosseum.eRule.Avatar)
|
||||
{
|
||||
UIManager.GetInstance().StartFirstTips(FirstTips.TipsType.HeroesGrandPrix);
|
||||
}
|
||||
else if (Wizard.Data.ArenaData.ColosseumData.Rule == ArenaColosseum.eRule.WindFall)
|
||||
{
|
||||
UIManager.GetInstance().StartFirstTips(FirstTips.TipsType.ColosseumWindFall);
|
||||
}
|
||||
else if (Wizard.Data.ArenaData.ColosseumData.Rule == ArenaColosseum.eRule.TwoPickChaos)
|
||||
{
|
||||
UIManager.GetInstance().StartFirstTips(FirstTips.TipsType.Colosseum2PickChaos, null, 0, Wizard.Data.ArenaData.ColosseumData.ChaoseTipsId);
|
||||
}
|
||||
else
|
||||
{
|
||||
UIManager.GetInstance().CheckFirstTips(FirstTips.TipsType.ColosseumInfo);
|
||||
}
|
||||
};
|
||||
inDialog.isNotCloseWindowButton1 = true;
|
||||
inDialog.isNotCloseWindowButton2 = true;
|
||||
string text = colosseumData.Rule switch
|
||||
{
|
||||
ArenaColosseum.eRule.TwoPick => (colosseumData.IsNormalTwoPick ? systemText.Get("Arena_0002") : systemText.Get("Colosseum_0105")) + " " + systemText.Get("Colosseum_0093"),
|
||||
ArenaColosseum.eRule.TwoPickChaos => systemText.Get("Chaos_FormatName"),
|
||||
ArenaColosseum.eRule.HOF => systemText.Get("Colosseum_0108"),
|
||||
ArenaColosseum.eRule.WindFall => systemText.Get("Colosseum_0115"),
|
||||
ArenaColosseum.eRule.Crossover => systemText.Get("Common_0166"),
|
||||
ArenaColosseum.eRule.MyRotation => systemText.Get("Common_0178"),
|
||||
ArenaColosseum.eRule.Avatar => systemText.Get("HeroesBattle_0001"),
|
||||
_ => ((colosseumData.DeckFormat == Format.Rotation) ? systemText.Get("Common_0154") : systemText.Get("Common_0155")) + systemText.Get("Colosseum_0093"),
|
||||
};
|
||||
_formatLabel.text = systemText.Get("Colosseum_0054", text);
|
||||
_timeLabel.text = systemText.Get("Colosseum_0084", colosseumData.ColosseumTimeText);
|
||||
OwnStatusLabelUpdate();
|
||||
List<UILabel[]> list = new List<UILabel[]>();
|
||||
list.Add(_round1TitleLabels);
|
||||
list.Add(_round2TitleLabels);
|
||||
list.Add(_round3TitleLabels);
|
||||
for (int num = 1; num < 4; num++)
|
||||
{
|
||||
UILabel[] array = list[num - 1];
|
||||
ArenaColosseum.eRound eRound = (ArenaColosseum.eStageNo)num switch
|
||||
{
|
||||
ArenaColosseum.eStageNo.Stage1 => ArenaColosseum.eRound.Round1,
|
||||
ArenaColosseum.eStageNo.Stage2 => ArenaColosseum.eRound.Round2A,
|
||||
_ => ArenaColosseum.eRound.FinalA,
|
||||
};
|
||||
UILabel uILabel = array[0];
|
||||
if (num == 3)
|
||||
{
|
||||
uILabel.text = systemText.Get("Colosseum_0008");
|
||||
}
|
||||
else
|
||||
{
|
||||
uILabel.text = systemText.Get("Colosseum_0007", num.ToString());
|
||||
}
|
||||
UILabel uILabel2 = array[1];
|
||||
uILabel2.text = colosseumData.DetailData[(int)(eRound - 1)].RoundTimeStartText;
|
||||
UILabel uILabel3 = array[2];
|
||||
uILabel3.text = colosseumData.DetailData[(int)(eRound - 1)].RoundTimeEndText;
|
||||
if (num == (int)colosseumData.FocusStageNo)
|
||||
{
|
||||
uILabel.text = AddColorCode(uILabel.text);
|
||||
uILabel2.text = AddColorCode(uILabel2.text);
|
||||
uILabel3.text = AddColorCode(uILabel3.text);
|
||||
}
|
||||
}
|
||||
List<UILabel[]> list2 = new List<UILabel[]>();
|
||||
list2.Add(_round1GroupLabels);
|
||||
list2.Add(_round2GroupBLabels);
|
||||
list2.Add(_round2GroupALabels);
|
||||
list2.Add(_round3GroupBLabels);
|
||||
list2.Add(_round3GroupALabels);
|
||||
for (int num2 = 1; num2 < 6; num2++)
|
||||
{
|
||||
UILabel[] array = list2[num2 - 1];
|
||||
array[0].text = colosseumData.DetailData[num2 - 1].GroupName;
|
||||
array[1].text = systemText.Get("Colosseum_0075", colosseumData.DetailData[num2 - 1].MaxBattleNum.ToString());
|
||||
if (num2 >= 4)
|
||||
{
|
||||
array[3].text = systemText.Get("Colosseum_0088", colosseumData.DetailData[num2 - 1].MaxEntryNum.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
array[3].text = systemText.Get("Colosseum_0078", colosseumData.DetailData[num2 - 1].MaxEntryNum.ToString());
|
||||
}
|
||||
UILabel uILabel4 = array[2];
|
||||
if (num2 == 1)
|
||||
{
|
||||
string text2 = systemText.Get("Colosseum_0076", colosseumData.DetailData[num2 - 1].BreakThroughNum.ToString(), systemText.Get("Colosseum_0020"));
|
||||
string text3 = systemText.Get("Colosseum_0080", (colosseumData.DetailData[num2 - 1].BreakThroughNum - 1).ToString(), systemText.Get("Colosseum_0021"));
|
||||
uILabel4.text = text2 + "\n" + text3;
|
||||
}
|
||||
else if (num2 >= 4)
|
||||
{
|
||||
uILabel4.text = systemText.Get("Colosseum_0104", colosseumData.FinalRoundEliminateCount.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (num2)
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
string text4 = systemText.Get("Colosseum_0076_Group", colosseumData.DetailData[num2 - 1].BreakThroughNum.ToString(), systemText.Get("Colosseum_0020"));
|
||||
string text5 = systemText.Get("Colosseum_0076_Group", colosseumData.DetailData[1].BreakThroughNum.ToString(), systemText.Get("Colosseum_0021"));
|
||||
uILabel4.text = text4 + "\n" + text5;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
uILabel4.text = systemText.Get("Colosseum_0076_Group", colosseumData.DetailData[num2 - 1].BreakThroughNum.ToString(), systemText.Get("Colosseum_0021"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (colosseumData.GetStageNoFromRoundId((ArenaColosseum.eRound)num2) == colosseumData.FocusStageNo)
|
||||
{
|
||||
for (int num3 = 0; num3 < array.Length; num3++)
|
||||
{
|
||||
array[num3].text = AddColorCode(array[num3].text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OwnStatusLabelUpdate()
|
||||
{
|
||||
SystemText systemText = Wizard.Data.SystemText;
|
||||
ArenaColosseum colosseumData = Wizard.Data.ArenaData.ColosseumData;
|
||||
_ownStatusLabel.text = string.Empty;
|
||||
if (colosseumData.IsClear)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0038", colosseumData.Name);
|
||||
}
|
||||
else if (colosseumData.IsFinalRound())
|
||||
{
|
||||
_ownStatusLabel.text = string.Empty;
|
||||
}
|
||||
else if (!colosseumData.IsRoundPeriod && colosseumData.StageNo == ArenaColosseum.eStageNo.Stage1)
|
||||
{
|
||||
_ownStatusLabel.text = string.Empty;
|
||||
}
|
||||
else if (!colosseumData.IsRoundPeriod)
|
||||
{
|
||||
if (colosseumData.StageNo == ArenaColosseum.eStageNo.Stage2)
|
||||
{
|
||||
if (colosseumData.NextRound == ArenaColosseum.eRound.Round2A || colosseumData.NextRound == ArenaColosseum.eRound.Round2B)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0048", colosseumData.GetGroupText(colosseumData.NextRound));
|
||||
}
|
||||
}
|
||||
else if (colosseumData.StageNo == ArenaColosseum.eStageNo.FinalStage)
|
||||
{
|
||||
if (colosseumData.NextRound == ArenaColosseum.eRound.Undecided || colosseumData.NextRound == ArenaColosseum.eRound.Lose)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0052");
|
||||
}
|
||||
else if (colosseumData.NextRound == ArenaColosseum.eRound.FinalA || colosseumData.NextRound == ArenaColosseum.eRound.FinalB)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0037_Group", colosseumData.GetGroupText(colosseumData.NextRound));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (colosseumData.Round == ArenaColosseum.eRound.Round1)
|
||||
{
|
||||
if (colosseumData.NextRound == ArenaColosseum.eRound.Round2A || colosseumData.NextRound == ArenaColosseum.eRound.Round2B)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0048", colosseumData.GetGroupText(colosseumData.NextRound));
|
||||
}
|
||||
}
|
||||
else if ((colosseumData.Round == ArenaColosseum.eRound.Round2A || colosseumData.Round == ArenaColosseum.eRound.Round2B) && colosseumData.NextRound != ArenaColosseum.eRound.Lose)
|
||||
{
|
||||
if (colosseumData.NextRound == ArenaColosseum.eRound.Undecided)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0052");
|
||||
}
|
||||
else if (colosseumData.NextRound == ArenaColosseum.eRound.FinalA || colosseumData.NextRound == ArenaColosseum.eRound.FinalB)
|
||||
{
|
||||
_ownStatusLabel.text = systemText.Get("Colosseum_0037_Group", colosseumData.GetGroupText(colosseumData.NextRound));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_ownStatusLabel.text = string.Empty;
|
||||
}
|
||||
if (_ownStatusLabel.text != string.Empty)
|
||||
{
|
||||
_ownStatusLabel.text = AddColorCode(_ownStatusLabel.text);
|
||||
}
|
||||
}
|
||||
|
||||
private string AddColorCode(string inOriginalText)
|
||||
{
|
||||
return "[fcd24a]" + inOriginalText + "[-]";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user