Files
SVSimServer/SVSim.BattleEngine/Engine/QuestSpecialBattleResult.cs
gamer147 0d9d8acae0 feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
2026-06-05 16:57:20 -04:00

732 lines
28 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
using Wizard;
using Wizard.QuestSpecialResult;
public class QuestSpecialBattleResult : MonoBehaviour
{
private const float CARD_SCALE = 0.86f;
private const int CARD_DEPTH = 50;
private const string BOSS_RUSH_EFFECT = "cmn_result_bossrush_1";
[SerializeField]
private BattleResultUIController _battleResultNewControl;
[Header("クエスト情報")]
[SerializeField]
public GameObject _questPointInfo;
[SerializeField]
private UIGauge _questPointGaugeBar;
[SerializeField]
public ParticleSystem QuestPointGaugeEffect;
[SerializeField]
private UILabel _questPointLabel;
[SerializeField]
public UILabel _questPointAddLabel;
[SerializeField]
public UILabel _questBonusPointAddLabel;
[SerializeField]
public UILabel _questBonusTitleLabel;
[SerializeField]
public UILabel _questBonusInfoLabel;
[SerializeField]
public UILabel _questPointRestLabel;
[SerializeField]
public List<UILabel> _questClearMissionTitleLabelList;
[SerializeField]
public List<UILabel> _questClearMissionPointLabelList;
[SerializeField]
private UISprite _bossrushFinishTitle;
[SerializeField]
private CardImageHelpder _bossRushCardLoader;
[SerializeField]
private GameObject _bossRushCardRoot;
[SerializeField]
private UISprite _bossRushBG;
[SerializeField]
private UIGrid _bossRushCardGrid;
[SerializeField]
private GameObject _bossRushEmptyFrameOriginal;
[SerializeField]
private UILabel _bossRushWinCountLabel;
[SerializeField]
private GameObject _bossRushWinCountObj;
[SerializeField]
private UIButton _bossRushTouchCollider;
[SerializeField]
private GameObject _bossRushCardOriginal;
private List<string> _loadFileList = new List<string>();
private bool _isNeedBossRushAtlasRemove;
private const float QUEST_RESULT_LABEL_DURATION = 0.5f;
private const float QUEST_RESULT_LABEL_DELAY = 0.1f;
private const float QUEST_RESULT_LABEL_MOVE_DISTANCE = 50f;
[SerializeField]
private QuestAllConfirmDialog _questAllConfirmDialogOriginal;
[SerializeField]
private GameObject _winBonusRoot;
[SerializeField]
private UILabel _winBonusLabel;
[SerializeField]
private UILabel _winBonusTitleLabel;
[SerializeField]
private UILabel _winBonusPointLabel;
[SerializeField]
private UILabel _bossRushClearLife;
[SerializeField]
private UILabel _bossRushClearLifeMax;
[SerializeField]
private FlexibleGrid _bossRushClearLifeGrid;
[SerializeField]
private UILabel _bossRushClearTurn;
[SerializeField]
private UILabel _bossRushClearWinCount;
[SerializeField]
private UILabel _bossRushShortestClearTurn;
[SerializeField]
private UILabel _bossRushClearNewRecordLabel;
[SerializeField]
private GameObject _bossRushAnimationRoot;
[SerializeField]
private Camera _myPageCamera;
private int _questLvPrev;
private QuestAssetManager _assetManager;
public bool IsBossRushTotalResultFinish { get; private set; }
public Camera MyPageCamera => _myPageCamera;
public void Init()
{
_assetManager = new QuestAssetManager();
_battleResultNewControl.DefaultPosDict["QuestPointInfo"] = _questPointInfo.transform.localPosition;
_bossRushEmptyFrameOriginal.SetActive(value: false);
GameMgr.GetIns().GetDataMgr();
_bossRushCardRoot.SetActive(value: false);
_bossRushCardOriginal.SetActive(value: false);
_myPageCamera.gameObject.SetActive(value: false);
}
public void ResultSetupEnd(Format format)
{
_questPointInfo.transform.localPosition = _battleResultNewControl.DefaultPosDict["QuestPointInfo"] + Vector3.left * 2000f;
_questPointInfo.gameObject.SetActive(value: true);
_questPointAddLabel.alpha = 0f;
_questBonusPointAddLabel.alpha = 0f;
_questBonusTitleLabel.alpha = 0f;
_questBonusInfoLabel.alpha = 0f;
for (int i = 0; i < _questClearMissionTitleLabelList.Count; i++)
{
_questClearMissionTitleLabelList[i].alpha = 0f;
}
for (int j = 0; j < _questClearMissionPointLabelList.Count; j++)
{
_questClearMissionPointLabelList[j].alpha = 0f;
}
_winBonusTitleLabel.alpha = 0f;
_winBonusPointLabel.alpha = 0f;
}
public void GetServerData(IBattleResultReporter resultReporter)
{
SetQuestPoint(0, isLvUpCheck: false);
QuestFinishDetail data = Data.QuestFinish.data;
if (data.WinBonusPointStatus == QuestFinishDetail.WinBonusStatus.AlreadyAchieved || data.WinCountForWinBonusPoint == 0)
{
_winBonusRoot.SetActive(value: false);
return;
}
_winBonusRoot.SetActive(value: true);
if (data.WinBonusPointStatus == QuestFinishDetail.WinBonusStatus.NotAchieved)
{
_winBonusLabel.text = string.Format(Data.SystemText.Get("Quest_0039"), data.WinCountForWinBonusPoint - data.WinCount);
}
else if (data.WinBonusPointStatus == QuestFinishDetail.WinBonusStatus.NowAchieved)
{
_winBonusLabel.text = Data.SystemText.Get("Quest_0041");
}
}
public void CreateQuestList()
{
_ = Data.SystemText;
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
dialogBase.SetSize(DialogBase.Size.M);
dialogBase.SetTitleLabel(Data.SystemText.Get("Quest_0005"));
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn);
QuestAllConfirmDialog questAllConfirmDialog = Object.Instantiate(_questAllConfirmDialogOriginal);
questAllConfirmDialog.CreateQuestAllConfirmDialog();
dialogBase.SetObj(questAllConfirmDialog.gameObject);
_battleResultNewControl._missionDialog = dialogBase;
}
public void SettingAddQuestPointTextAnimation()
{
QuestFinishDetail data = Data.QuestFinish.data;
iTween.ValueTo(base.gameObject, iTween.Hash("from", 0, "to", data.AddPoint, "time", 0.5f, "delay", 0.5f, "onstart", "StartAddQuestPoint", "onupdate", "UpdateQuestPoint", "oncomplete", "CompleteQuestPoint", "easetype", iTween.EaseType.easeOutQuad));
bool flag = data.AddPoint >= 0;
_questPointAddLabel.text = (flag ? "+" : string.Empty) + data.AddPoint;
_questPointAddLabel.color = (flag ? BattleResultUIController.PLUS_START_COLOR : BattleResultUIController.MINUS_START_COLOR);
TweenAlpha.Begin(_questPointAddLabel.gameObject, 0.3f, 1f);
iTween.MoveFrom(_questPointAddLabel.gameObject, iTween.Hash("y", _questPointAddLabel.transform.localPosition.y - 10f, "time", 0.3f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
public void AddWinBonusQuestPoint()
{
QuestFinishDetail data = Data.QuestFinish.data;
iTween.ValueTo(base.gameObject, iTween.Hash("from", 0, "to", data.WinBonusPoint, "time", 0.5f, "delay", 0.5f, "onstart", "StartAddQuestPoint", "onupdate", "UpdateWinBonusQuestPoint", "oncomplete", "CompleteWinBonusQuestPoint", "easetype", iTween.EaseType.easeOutQuad));
_winBonusPointLabel.text = "+" + data.WinBonusPoint;
_winBonusPointLabel.color = BattleResultUIController.PLUS_END_COLOR;
_winBonusTitleLabel.alpha = 1f;
iTween.MoveFrom(_winBonusTitleLabel.gameObject, iTween.Hash("x", _winBonusTitleLabel.transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
public void SettingAddBounusQuestPointTextAnimation()
{
QuestFinishDetail data = Data.QuestFinish.data;
iTween.ValueTo(base.gameObject, iTween.Hash("from", 0, "to", data.GetTotalBonusPoint(), "time", 0.5f, "delay", 0.5f, "onstart", "StartAddQuestPoint", "onupdate", "UpdateBonusQuestPoint", "oncomplete", "CompleteBonusQuestPoint", "easetype", iTween.EaseType.easeOutQuad));
_questBonusPointAddLabel.text = ((data.GetTotalBonusPoint() >= 0) ? "+" : string.Empty) + data.GetTotalBonusPoint();
_questBonusPointAddLabel.color = BattleResultUIController.PLUS_END_COLOR;
_questBonusTitleLabel.alpha = 1f;
iTween.MoveFrom(_questBonusTitleLabel.gameObject, iTween.Hash("x", _questBonusTitleLabel.transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
TweenAlpha.Begin(_questBonusInfoLabel.gameObject, 0.3f, 1f).delay = 0.1f;
iTween.MoveFrom(_questBonusInfoLabel.gameObject, iTween.Hash("x", _questBonusInfoLabel.transform.localPosition.x - 50f, "time", 0.5f, "delay", 0.1f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
public void SettingAddCommonMissionQuestPointTextAnimation()
{
int totalCommonMissionClearPoint = Data.QuestFinish.data.GetTotalCommonMissionClearPoint();
iTween.ValueTo(base.gameObject, iTween.Hash("from", 0, "to", totalCommonMissionClearPoint, "time", 0.5f, "delay", 0.5f, "onstart", "StartAddQuestPoint", "onupdate", "UpdateCommonMissionQuestPoint", "oncomplete", (Data.QuestFinish.data.CharacterMissionClearInfoList.Count > 0) ? "CompleteCommonMissionQuestPointDisappearLabel" : "CompleteCommonMissionQuestPoint", "easetype", iTween.EaseType.easeOutQuad));
List<QuestFinishDetail.MissionClearInfo> commonMissionClearInfoList = Data.QuestFinish.data.CommonMissionClearInfoList;
for (int i = 0; i < commonMissionClearInfoList.Count; i++)
{
_questClearMissionTitleLabelList[i].text = commonMissionClearInfoList[i].MissionText;
_questClearMissionPointLabelList[i].text = "+" + commonMissionClearInfoList[i].MissionPoint;
_questClearMissionTitleLabelList[i].alpha = 1f;
iTween.MoveFrom(_questClearMissionTitleLabelList[i].gameObject, iTween.Hash("x", _questClearMissionTitleLabelList[i].transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
_questClearMissionPointLabelList[i].alpha = 1f;
iTween.MoveFrom(_questClearMissionPointLabelList[i].gameObject, iTween.Hash("x", _questClearMissionPointLabelList[i].transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
}
public void SettingAddCharacterMissionQuestPointTextAnimation()
{
int totalCharacterMissionClearPoint = Data.QuestFinish.data.GetTotalCharacterMissionClearPoint();
iTween.ValueTo(base.gameObject, iTween.Hash("from", 0, "to", totalCharacterMissionClearPoint, "time", 0.5f, "delay", 0.5f, "onstart", "StartAddQuestPoint", "onupdate", "UpdateCharacterMissionQuestPoint", "oncomplete", "CompleteCharacterMissionQuestPoint", "easetype", iTween.EaseType.easeOutQuad));
List<QuestFinishDetail.MissionClearInfo> characterMissionClearInfoList = Data.QuestFinish.data.CharacterMissionClearInfoList;
for (int i = 0; i < characterMissionClearInfoList.Count; i++)
{
_questClearMissionTitleLabelList[i].text = characterMissionClearInfoList[i].MissionText;
_questClearMissionPointLabelList[i].text = "+" + characterMissionClearInfoList[i].MissionPoint;
_questClearMissionTitleLabelList[i].alpha = 1f;
iTween.MoveFrom(_questClearMissionTitleLabelList[i].gameObject, iTween.Hash("x", _questClearMissionTitleLabelList[i].transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
_questClearMissionPointLabelList[i].alpha = 1f;
iTween.MoveFrom(_questClearMissionPointLabelList[i].gameObject, iTween.Hash("x", _questClearMissionPointLabelList[i].transform.localPosition.x - 50f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
}
private void StartAddQuestPoint()
{
QuestPointGaugeEffect.gameObject.SetActive(value: true);
QuestPointGaugeEffect.Play();
}
private void SetQuestPoint(int diffPoint, bool isLvUpCheck)
{
if (GameMgr.GetIns().GetDataMgr().IsQuestBattleType())
{
QuestFinishDetail data = Data.QuestFinish.data;
int initPoint = data.CurrentPoint - data.AddPoint - data.WinBonusPoint - data.GetTotalBonusPoint() - data.GetTotalCommonMissionClearPoint() - data.GetTotalCharacterMissionClearPoint() + diffPoint;
int questLv = GetQuestLv(initPoint);
int questPointNow = GetQuestPointNow(initPoint);
int num = Mathf.Max(0, data.NecessaryPointList[questLv - 1] - questPointNow);
_questPointLabel.text = initPoint.ToString();
_questPointAddLabel.text = "+" + (data.AddPoint - diffPoint);
_questPointRestLabel.text = num.ToString();
_questPointGaugeBar.Value = (((float)data.NecessaryPointList[questLv - 1] > 0f) ? Mathf.Min((float)questPointNow / (float)data.NecessaryPointList[questLv - 1], 1f) : 1f);
if (isLvUpCheck && questLv > _questLvPrev)
{
GameMgr ins = GameMgr.GetIns();
ins.GetSoundMgr().PlaySe(Se.TYPE.SYS_RESULT_LEVELUP);
ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_RESULT_GAUGE_1, _questPointGaugeBar.GetTransformGaugeStartEdge().position);
_questLvPrev = questLv;
}
else
{
_questLvPrev = GetQuestLv(initPoint);
}
}
}
private void SetWinBonusQuestPoint(int diffPoint)
{
if (GameMgr.GetIns().GetDataMgr().IsQuestBattleType())
{
QuestFinishDetail data = Data.QuestFinish.data;
int initPoint = data.CurrentPoint - data.WinBonusPoint - data.GetTotalBonusPoint() - data.GetTotalCommonMissionClearPoint() - data.GetTotalCharacterMissionClearPoint() + diffPoint;
int questLv = GetQuestLv(initPoint);
int questPointNow = GetQuestPointNow(initPoint);
int num = data.NecessaryPointList[questLv - 1];
int num2 = Mathf.Max(0, num - questPointNow);
_questPointLabel.text = initPoint.ToString();
_winBonusPointLabel.text = "+" + (data.WinBonusPoint - diffPoint);
_questPointRestLabel.text = num2.ToString();
_questPointGaugeBar.Value = ((num > 0) ? Mathf.Min((float)questPointNow / (float)num, 1f) : 1f);
if (questLv > _questLvPrev)
{
GameMgr ins = GameMgr.GetIns();
ins.GetSoundMgr().PlaySe(Se.TYPE.SYS_RESULT_LEVELUP);
ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_RESULT_GAUGE_1, _questPointGaugeBar.GetTransformGaugeStartEdge().position);
_questLvPrev = questLv;
}
else
{
_questLvPrev = GetQuestLv(initPoint);
}
}
}
private void SetBonusQuestPoint(int diffPoint)
{
if (GameMgr.GetIns().GetDataMgr().IsQuestBattleType())
{
QuestFinishDetail data = Data.QuestFinish.data;
int initPoint = data.CurrentPoint - data.GetTotalBonusPoint() - data.GetTotalCommonMissionClearPoint() - data.GetTotalCharacterMissionClearPoint() + diffPoint;
int questLv = GetQuestLv(initPoint);
int questPointNow = GetQuestPointNow(initPoint);
int num = Mathf.Max(0, data.NecessaryPointList[questLv - 1] - questPointNow);
_questPointLabel.text = initPoint.ToString();
_questBonusPointAddLabel.text = "+" + (data.GetTotalBonusPoint() - diffPoint);
_questPointRestLabel.text = num.ToString();
_questPointGaugeBar.Value = (((float)data.NecessaryPointList[questLv - 1] > 0f) ? Mathf.Min((float)questPointNow / (float)data.NecessaryPointList[questLv - 1], 1f) : 1f);
if (questLv > _questLvPrev)
{
GameMgr ins = GameMgr.GetIns();
ins.GetSoundMgr().PlaySe(Se.TYPE.SYS_RESULT_LEVELUP);
ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_RESULT_GAUGE_1, _questPointGaugeBar.GetTransformGaugeStartEdge().position);
_questLvPrev = questLv;
}
else
{
_questLvPrev = GetQuestLv(initPoint);
}
}
}
private void SetCommonMissionQuestPoint(int diffPoint)
{
if (GameMgr.GetIns().GetDataMgr().IsQuestBattleType())
{
QuestFinishDetail data = Data.QuestFinish.data;
int initPoint = data.CurrentPoint - data.GetTotalCommonMissionClearPoint() - data.GetTotalCharacterMissionClearPoint() + diffPoint;
int questLv = GetQuestLv(initPoint);
int questPointNow = GetQuestPointNow(initPoint);
int num = Mathf.Max(0, data.NecessaryPointList[questLv - 1] - questPointNow);
_questPointLabel.text = initPoint.ToString();
_questPointRestLabel.text = num.ToString();
_questPointGaugeBar.Value = (((float)data.NecessaryPointList[questLv - 1] > 0f) ? Mathf.Min((float)questPointNow / (float)data.NecessaryPointList[questLv - 1], 1f) : 1f);
if (questLv > _questLvPrev)
{
GameMgr ins = GameMgr.GetIns();
ins.GetSoundMgr().PlaySe(Se.TYPE.SYS_RESULT_LEVELUP);
ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_RESULT_GAUGE_1, _questPointGaugeBar.GetTransformGaugeStartEdge().position);
_questLvPrev = questLv;
}
else
{
_questLvPrev = GetQuestLv(initPoint);
}
}
}
private void SetCharacterMissionQuestPoint(int diffPoint)
{
if (GameMgr.GetIns().GetDataMgr().IsQuestBattleType())
{
QuestFinishDetail data = Data.QuestFinish.data;
int initPoint = data.CurrentPoint - data.GetTotalCharacterMissionClearPoint() + diffPoint;
int questLv = GetQuestLv(initPoint);
int questPointNow = GetQuestPointNow(initPoint);
int num = Mathf.Max(0, data.NecessaryPointList[questLv - 1] - questPointNow);
_questPointLabel.text = initPoint.ToString();
_questPointRestLabel.text = num.ToString();
_questPointGaugeBar.Value = (((float)data.NecessaryPointList[questLv - 1] > 0f) ? Mathf.Min((float)questPointNow / (float)data.NecessaryPointList[questLv - 1], 1f) : 1f);
if (questLv > _questLvPrev)
{
GameMgr ins = GameMgr.GetIns();
ins.GetSoundMgr().PlaySe(Se.TYPE.SYS_RESULT_LEVELUP);
ins.GetEffectMgr().Start(EffectMgr.EffectType.CMN_RESULT_GAUGE_1, _questPointGaugeBar.GetTransformGaugeStartEdge().position);
_questLvPrev = questLv;
}
else
{
_questLvPrev = GetQuestLv(initPoint);
}
}
}
private void UpdateQuestPoint(int num)
{
SetQuestPoint(num, isLvUpCheck: true);
}
private void UpdateWinBonusQuestPoint(int num)
{
SetWinBonusQuestPoint(num);
}
private void UpdateBonusQuestPoint(int num)
{
SetBonusQuestPoint(num);
}
private void UpdateCommonMissionQuestPoint(int num)
{
SetCommonMissionQuestPoint(num);
}
private void UpdateCharacterMissionQuestPoint(int num)
{
SetCharacterMissionQuestPoint(num);
}
private void CompleteQuestPoint()
{
QuestPointGaugeEffect.Stop();
TweenAlpha.Begin(_questPointAddLabel.gameObject, 0.5f, 0f);
}
private void CompleteWinBonusQuestPoint()
{
QuestPointGaugeEffect.Stop();
TweenAlpha.Begin(_winBonusTitleLabel.gameObject, 0.5f, 0f);
TweenAlpha.Begin(_winBonusPointLabel.gameObject, 0.5f, 0f);
}
private void CompleteBonusQuestPoint()
{
QuestPointGaugeEffect.Stop();
TweenAlpha.Begin(_questBonusTitleLabel.gameObject, 0.5f, 0f);
TweenAlpha.Begin(_questBonusPointAddLabel.gameObject, 0.5f, 0f);
}
private void CompleteCommonMissionQuestPointDisappearLabel()
{
CompleteCommonMissionQuestPoint();
for (int i = 0; i < Data.QuestFinish.data.CommonMissionClearInfoList.Count; i++)
{
TweenAlpha.Begin(_questClearMissionTitleLabelList[i].gameObject, 0.5f, 0f);
TweenAlpha.Begin(_questClearMissionPointLabelList[i].gameObject, 0.5f, 0f);
}
}
private void CompleteCommonMissionQuestPoint()
{
QuestPointGaugeEffect.Stop();
}
private void CompleteCharacterMissionQuestPoint()
{
QuestPointGaugeEffect.Stop();
}
private int GetQuestLv(int initPoint)
{
int num = 1;
int num2 = 0;
List<int> necessaryPointList = Data.QuestFinish.data.NecessaryPointList;
for (int i = 0; i < necessaryPointList.Count; i++)
{
num2 += necessaryPointList[i];
if (initPoint < num2)
{
break;
}
num++;
}
return Mathf.Min(num, necessaryPointList.Count);
}
private int GetQuestPointNow(int initPoint)
{
int num = initPoint;
List<int> necessaryPointList = Data.QuestFinish.data.NecessaryPointList;
for (int i = 0; i < necessaryPointList.Count && num >= necessaryPointList[i]; i++)
{
num -= necessaryPointList[i];
}
return num;
}
public IEnumerator LoadCoroutine()
{
yield return _assetManager.LoadAllCoroutine();
}
public void Unload()
{
if (_isNeedBossRushAtlasRemove)
{
UIManager.GetInstance().RemoveResidentAtlas(UIAtlasManager.AssetBundleNames.BossRush);
}
Toolbox.ResourcesManager.RemoveAssetGroup(_loadFileList);
_loadFileList.Clear();
_assetManager.UnloadAll();
}
public IEnumerator PlayAnimationCoroutine()
{
while (!_assetManager.IsLoaded)
{
yield return null;
}
}
private IEnumerator LoadBossRushResource()
{
List<int> cardIdList = new List<int>();
BossRushBattleData bossRushBattleData = GameMgr.GetIns().GetDataMgr().BossRushBattleData;
CardMaster instance = CardMaster.GetInstance(CardMaster.CardMasterId.Default);
foreach (BossRushSpecialSkill playerSkill in bossRushBattleData.PlayerSkillList)
{
CardParameter cardParameterFromId = instance.GetCardParameterFromId(playerSkill.OriginalCardId);
if (playerSkill.IsFoil)
{
cardIdList.Add(cardParameterFromId.FoilCardId);
}
else
{
cardIdList.Add(playerSkill.OriginalCardId);
}
}
bool finish = false;
_isNeedBossRushAtlasRemove = true;
List<string> loadList = new List<string> { UIManager.GetInstance().GetSceneAssetPath(UIAtlasManager.AssetBundleNames.BossRush) };
string[] array = new string[1] { "cmn_result_bossrush_1" };
foreach (string path in array)
{
loadList.Add(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.Effect2D));
}
yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(loadList, null));
_loadFileList = loadList;
UIManager.GetInstance().AddResidentAtlas(UIAtlasManager.AssetBundleNames.BossRush);
_bossRushCardLoader.Load(cardIdList, 0.86f, 50, CardTemplateCustomize, delegate
{
finish = true;
});
while (!finish)
{
yield return null;
}
}
private void CardTemplateCustomize(CardListTemplate template)
{
template.SetBossRushSkillFrame();
template.HideNum();
template.HideLabelsForBossRushSkill();
template.SetBossRushCardTexture();
}
private void InitializeCard()
{
BossRushBattleData bossRushBattleData = GameMgr.GetIns().GetDataMgr().BossRushBattleData;
for (int i = 0; i < bossRushBattleData.MaxBattleCount; i++)
{
if (i >= bossRushBattleData.PlayerSkillList.Count)
{
AddEmptyAbilityFrame();
}
else
{
AddAbilityCardObj(i);
}
}
_bossRushCardGrid.Reposition();
}
private void AddEmptyAbilityFrame()
{
NGUITools.AddChild(_bossRushCardGrid.gameObject, _bossRushEmptyFrameOriginal).SetActive(value: true);
}
private void AddAbilityCardObj(int index)
{
GameObject gameObject = NGUITools.AddChild(_bossRushCardGrid.gameObject, _bossRushCardOriginal);
gameObject.SetActive(value: true);
GameObject cardObj = _bossRushCardLoader.GetCardObjData(index).CardObj;
Vector3 localScale = cardObj.transform.localScale;
cardObj.transform.parent = gameObject.transform;
cardObj.transform.localPosition = Vector3.zero;
cardObj.transform.localScale = localScale;
BossRushBattleData bossRushBattleData = GameMgr.GetIns().GetDataMgr().BossRushBattleData;
UILabel componentInChildren = gameObject.GetComponentInChildren<UILabel>();
componentInChildren.text = bossRushBattleData.PlayerSkillList[index].Name;
UIManager.GetInstance().getUIBase_CardManager().SetNameLabelStyle(componentInChildren, bossRushBattleData.PlayerSkillList[index].IsFoil);
}
private bool IsBossRushAllWin(bool isWin)
{
if (GameMgr.GetIns().GetDataMgr().m_BattleType == DataMgr.BattleType.BossRushQuest)
{
BossRushBattleData bossRushBattleData = GameMgr.GetIns().GetDataMgr().BossRushBattleData;
if (isWin)
{
return bossRushBattleData.CurrentWinCount + 1 >= bossRushBattleData.MaxBattleCount;
}
return false;
}
return false;
}
public IEnumerator SettingBossRushFinishResultAnimation(bool isWin)
{
BossRushBattleData bossRushBattleData = GameMgr.GetIns().GetDataMgr().BossRushBattleData;
Vector3 finishTitleDefaultPosition = _bossrushFinishTitle.transform.localPosition;
Vector3 winObjDefaultPosition = _bossRushWinCountObj.transform.localPosition;
Vector3 cardGridDefaultPosition = _bossRushCardGrid.transform.localPosition;
_bossrushFinishTitle.gameObject.SetActive(value: false);
_bossRushWinCountObj.gameObject.SetActive(value: false);
_bossRushCardGrid.gameObject.SetActive(value: false);
_bossRushBG.gameObject.SetActive(value: false);
UIWidget[] allWinCountWidget = _bossRushAnimationRoot.GetComponentsInChildren<UIWidget>();
UIWidget[] array = allWinCountWidget;
for (int i = 0; i < array.Length; i++)
{
array[i].alpha = 0f;
}
_bossrushFinishTitle.transform.localPosition = finishTitleDefaultPosition + Vector3.up * 500f;
_bossRushWinCountObj.transform.localPosition = winObjDefaultPosition + Vector3.down * 100f;
_bossRushCardGrid.transform.localPosition = cardGridDefaultPosition + Vector3.down * 500f;
new List<GameObject>();
_ = GameMgr.GetIns().GetDataMgr().BossRushBattleData.PlayerSkillList;
_bossRushCardRoot.SetActive(value: true);
int num = (isWin ? (bossRushBattleData.CurrentWinCount + 1) : bossRushBattleData.CurrentWinCount);
_bossRushWinCountLabel.text = num.ToString();
_bossRushClearWinCount.text = num.ToString();
_bossRushClearLife.text = Data.QuestFinish.data.CurrentLife.ToString();
_bossRushClearLifeMax.text = "/" + Data.QuestFinish.data.MaxLife;
_bossRushClearLife.ProcessText();
_bossRushClearLifeMax.ProcessText();
_bossRushClearLifeGrid.Reposition();
if (Data.QuestFinish.data.IsEnableBossRushShortestTurn)
{
_bossRushShortestClearTurn.text = Data.QuestFinish.data.BossRushShortestTurn.ToString();
}
else
{
_bossRushShortestClearTurn.text = Data.SystemText.Get("BossRush_0040");
}
_bossRushClearTurn.text = Data.QuestFinish.data.BossRushTotalTurn.ToString();
if (!isWin)
{
_bossRushClearTurn.text = Data.SystemText.Get("BossRush_0040");
}
_bossRushClearNewRecordLabel.gameObject.SetActive(Data.QuestFinish.data.IsBossRushNewRecord && isWin);
yield return StartCoroutine(LoadBossRushResource());
InitializeCard();
_bossrushFinishTitle.spriteName = (isWin ? "result_text_clear" : "result_text_failed");
_bossrushFinishTitle.alpha = 0f;
_bossRushBG.alpha = 0f;
_bossRushBG.gameObject.SetActive(value: true);
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BOSS_RUSH_RESULT_APPEAR);
TweenAlpha.Begin(_battleResultNewControl.Bg.gameObject, 0.2f, 0.5f);
TweenAlpha.Begin(_bossRushBG.gameObject, 0.2f, 1f);
yield return new WaitForSeconds(0.2f);
_bossrushFinishTitle.gameObject.SetActive(value: true);
_bossRushWinCountObj.gameObject.SetActive(value: true);
_bossRushCardGrid.gameObject.SetActive(value: true);
UIManager.GetInstance().AttachAtlas(_bossrushFinishTitle.gameObject, isTargetChildren: false);
TweenAlpha.Begin(_bossrushFinishTitle.gameObject, 0.2f, 1f);
array = allWinCountWidget;
for (int i = 0; i < array.Length; i++)
{
TweenAlpha.Begin(array[i].gameObject, 0.2f, 1f);
}
iTween.MoveTo(_bossrushFinishTitle.gameObject, iTween.Hash("position", finishTitleDefaultPosition, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
iTween.MoveTo(_bossRushWinCountObj.gameObject, iTween.Hash("position", winObjDefaultPosition, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
iTween.MoveTo(_bossRushCardGrid.gameObject, iTween.Hash("position", cardGridDefaultPosition, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
yield return new WaitForSeconds(0.5f);
GameObject effectObject = null;
if (IsBossRushAllWin(isWin))
{
effectObject = Object.Instantiate(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_result_bossrush_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)) as GameObject);
effectObject.transform.SetParent(_bossRushWinCountObj.transform);
effectObject.transform.localPosition = Vector3.zero;
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BOSS_RUSH_RESULT_CLEAR);
_loadFileList.AddRange(GameMgr.GetIns().GetEffectMgr().SetUIParticleShader(effectObject, null));
effectObject.SetActive(value: true);
}
bool isTouchCollider = false;
_bossRushTouchCollider.onClick.Add(new EventDelegate(delegate
{
isTouchCollider = true;
}));
while (!isTouchCollider)
{
yield return null;
}
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BOSS_RUSH_RESULT_MOVE);
if (effectObject != null)
{
Object.Destroy(effectObject);
}
iTween.MoveTo(_bossrushFinishTitle.gameObject, iTween.Hash("position", finishTitleDefaultPosition + Vector3.up * 500f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
TweenAlpha.Begin(_bossRushWinCountObj.gameObject, 0.5f, 0f);
TweenAlpha.Begin(_bossRushBG.gameObject, 0.5f, 0f);
array = allWinCountWidget;
for (int i = 0; i < array.Length; i++)
{
TweenAlpha.Begin(array[i].gameObject, 0.5f, 0f);
}
iTween.MoveTo(_bossRushCardGrid.gameObject, iTween.Hash("position", cardGridDefaultPosition + Vector3.down * 500f, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
yield return new WaitForSeconds(0.5f);
_bossRushTouchCollider.gameObject.SetActive(value: false);
IsBossRushTotalResultFinish = true;
}
}