Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/BattlePassResultPanel.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

174 lines
5.2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
namespace Wizard;
public class BattlePassResultPanel : MonoBehaviour
{
[SerializeField]
private BattlePassGuage _battlePassGuage;
[SerializeField]
private UIButton _tapTrriger;
[SerializeField]
private ParticleSystem _lineEfc;
[Header("ラベル")]
[SerializeField]
private GameObject _battleWin;
[SerializeField]
private UILabel _battleWinLabel;
[SerializeField]
private UILabel _battleWinPointLabel;
[SerializeField]
private GameObject _missionClear;
[SerializeField]
private UILabel _missionClearLabel;
[SerializeField]
private UILabel _missionClearPointLabel;
[SerializeField]
private GameObject _battleMissionClear;
[SerializeField]
private UILabel _battleMissionClearLabel;
[SerializeField]
private UILabel _battleMissionClearPointLabel;
[SerializeField]
private UILabel _weeklyGetLimitLabel;
[SerializeField]
private UILabel _weeklyGetLimitPointLabel;
[SerializeField]
private UIGrid _uiGrid;
private float GAUGEUP_LABEL_DURATION = 0.5f;
private float GAUGEUP_LABEL_MOVE_DISTANCE = 50f;
private BattlePassGaugeInfo _battlePassGaugeInfo;
private List<string> _loadedEffectResources = new List<string>();
private Action _closeAction;
private bool _isClosePanel;
public void Initialize(BattlePassGaugeInfo battlePassGaugeInfo)
{
_battlePassGuage.LvUpInitialize(battlePassGaugeInfo);
_tapTrriger.onClick.Add(new EventDelegate(Close));
base.gameObject.SetActive(value: false);
_battleWinLabel.text = Data.SystemText.Get("BattlePass_0014");
_battleWin.SetActive(value: false);
_battleWinPointLabel.text = "+" + battlePassGaugeInfo.BattleResultPoint;
_missionClearLabel.text = Data.SystemText.Get("BattlePass_0015");
_missionClear.SetActive(value: false);
_missionClearPointLabel.text = "+" + battlePassGaugeInfo.DailryMissionPoint;
_battleMissionClearLabel.text = Data.SystemText.Get("BattlePass_0016");
_battleMissionClear.SetActive(value: false);
_battleMissionClearPointLabel.text = "+" + battlePassGaugeInfo.BattlePassMissionPoint;
_weeklyGetLimitLabel.text = Data.SystemText.Get("BattlePass_0017");
_weeklyGetLimitPointLabel.text = battlePassGaugeInfo.WeeklyBattlePassPoint + "/" + battlePassGaugeInfo.WeeklyLimitPoint;
_battlePassGaugeInfo = battlePassGaugeInfo;
}
public void SetPointupAnimation(Action closeAction)
{
_closeAction = closeAction;
List<GameObject> list = new List<GameObject>();
list.Add(_lineEfc.gameObject);
list.Add(_battlePassGuage.GaugeEfc.gameObject);
_loadedEffectResources.AddRange(GameMgr.GetIns().GetEffectMgr().SetUIParticleShader(list, delegate
{
base.gameObject.SetActive(value: true);
StartCoroutine(FadeAction(isIn: true));
_lineEfc.gameObject.SetActive(value: true);
_lineEfc.Play();
_battlePassGuage.AddBattlePassPoint();
StartCoroutine(SetLvupAnimation());
}));
}
private IEnumerator SetLvupAnimation()
{
_battleWin.SetActive(_battlePassGaugeInfo.BattleResultPoint != 0);
_missionClear.SetActive(_battlePassGaugeInfo.DailryMissionPoint != 0);
_battleMissionClear.SetActive(_battlePassGaugeInfo.BattlePassMissionPoint != 0);
_uiGrid.Reposition();
_battleWin.SetActive(value: false);
_missionClear.SetActive(value: false);
_battleMissionClear.SetActive(value: false);
yield return new WaitForSeconds(0.5f);
if (_battlePassGaugeInfo.BattleResultPoint != 0)
{
_battleWin.SetActive(value: true);
TextAnimation(_battleWinLabel.gameObject);
TextAnimation(_battleWinPointLabel.gameObject);
}
if (_battlePassGaugeInfo.DailryMissionPoint != 0)
{
_missionClear.SetActive(value: true);
TextAnimation(_missionClearLabel.gameObject);
TextAnimation(_missionClearPointLabel.gameObject);
}
if (_battlePassGaugeInfo.BattlePassMissionPoint != 0)
{
_battleMissionClear.SetActive(value: true);
TextAnimation(_battleMissionClearLabel.gameObject);
TextAnimation(_battleMissionClearPointLabel.gameObject);
}
}
private void Close()
{
if (_battlePassGuage.IsAnimationComplete && !_isClosePanel)
{
_isClosePanel = true;
_lineEfc.Clear();
StartCoroutine(FadeAction(isIn: false, delegate
{
base.gameObject.SetActive(value: false);
UnLoadEffect();
_closeAction();
}));
}
}
private void UnLoadEffect()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadedEffectResources);
_loadedEffectResources.Clear();
}
private void TextAnimation(GameObject label)
{
label.SetActive(value: true);
TweenAlpha.Begin(label.gameObject, GAUGEUP_LABEL_DURATION, 1f);
iTween.MoveFrom(label, iTween.Hash("x", label.transform.localPosition.x - GAUGEUP_LABEL_MOVE_DISTANCE, "time", 0.5f, "islocal", true, "easetype", iTween.EaseType.easeOutExpo));
}
public IEnumerator FadeAction(bool isIn, Action fadeEndAction = null)
{
float num = 0.2f;
float alpha = (isIn ? 0f : 1f);
float alpha2 = (isIn ? 1f : 0f);
TweenAlpha.Begin(base.gameObject, 0f, alpha);
TweenAlpha.Begin(base.gameObject, num, alpha2);
yield return new WaitForSeconds(num);
fadeEndAction.Call();
}
}