Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/ReplaySkipAnimation.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

112 lines
3.6 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Cute;
using UnityEngine;
namespace Wizard;
public class ReplaySkipAnimation : MonoBehaviour
{
[SerializeField]
private UISprite TitleSkip;
[SerializeField]
private UITexture Bg;
[SerializeField]
private UITexture FieldHideBg;
[SerializeField]
private UIPanel MainPanel;
[SerializeField]
private UISprite ArcaneIn;
[SerializeField]
private UISprite ArcaneOut;
private List<string> _loadFileList = new List<string>();
private GameObject _effectObject;
private const int LOADING_LAYER = 26;
private const string REPLAY_SKIP_EFFECT = "cmn_replay_skipping_1";
public const float FADE_IN_TIME = 0.1f;
public const float FADE_OUT_TIME = 0.1f;
public void SetUp()
{
ArcaneIn.alpha = 0f;
ArcaneOut.alpha = 0f;
ArcaneIn.transform.localScale = Vector3.one;
ArcaneOut.transform.localScale = Vector3.one;
Bg.alpha = 0f;
FieldHideBg.alpha = 0f;
UIAtlas atlas = UIManager.GetInstance().GetAtlasList().FirstOrDefault((UIAtlas s) => s.name == "BattleLang");
TitleSkip.atlas = atlas;
TitleSkip.spriteName = "result_text_skipping";
_loadFileList = new List<string> { Toolbox.ResourcesManager.GetAssetTypePath("cmn_replay_skipping_1", ResourcesManager.AssetLoadPathType.Effect2D) };
StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(_loadFileList, delegate
{
_effectObject = Object.Instantiate(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_replay_skipping_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)) as GameObject);
_effectObject.transform.SetParent(base.gameObject.transform);
_effectObject.SetLayer(26, isSetChildren: true);
_effectObject.transform.localPosition = Vector3.zero;
_loadFileList.AddRange(GameMgr.GetIns().GetEffectMgr().SetUIParticleShader(_effectObject, null));
_effectObject.SetActive(value: false);
}));
base.gameObject.SetLayer(26, isSetChildren: true);
Bg.gameObject.SetActive(value: false);
FieldHideBg.gameObject.SetActive(value: false);
}
public void Unload()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadFileList);
_loadFileList.Clear();
}
public void Run()
{
Bg.gameObject.SetActive(value: true);
FieldHideBg.gameObject.SetActive(value: true);
FieldHideBg.alpha = 0f;
TitleSkip.gameObject.SetActive(value: true);
TitleSkip.transform.localScale = Vector3.one;
TitleSkip.alpha = 0f;
Bg.color = new Color32(0, 102, 153, 0);
MainPanel.alpha = 1f;
ArcaneIn.gameObject.SetActive(value: true);
ArcaneOut.gameObject.SetActive(value: true);
_effectObject.SetActive(value: true);
TweenAlpha.Begin(TitleSkip.gameObject, 0.1f, 1f);
TweenAlpha.Begin(Bg.gameObject, 0.1f, 0.25f);
TweenAlpha.Begin(FieldHideBg.gameObject, 0.1f, 1f);
TweenAlpha.Begin(ArcaneIn.gameObject, 0.1f, 0.75f);
TweenAlpha.Begin(ArcaneOut.gameObject, 0.1f, 1f);
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_REPLAY_TURN_SKIPPING);
}
public void End()
{
TweenAlpha.Begin(TitleSkip.gameObject, 0.1f, 0f);
TweenAlpha.Begin(Bg.gameObject, 0.1f, 0f);
TweenAlpha.Begin(FieldHideBg.gameObject, 0.1f, 0f);
TweenAlpha.Begin(ArcaneIn.gameObject, 0.1f, 0f);
TweenAlpha.Begin(ArcaneOut.gameObject, 0.1f, 0f);
_effectObject.SetActive(value: false);
}
public void Hide()
{
Bg.gameObject.SetActive(value: false);
FieldHideBg.gameObject.SetActive(value: false);
TitleSkip.gameObject.SetActive(value: false);
ArcaneIn.gameObject.SetActive(value: false);
ArcaneOut.gameObject.SetActive(value: false);
}
}