Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/ArenaCommonLobbyTreasureBoxInfo.cs
gamer147 824309ec44 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.
2026-06-05 20:30:59 -04:00

95 lines
2.9 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
namespace Wizard;
public class ArenaCommonLobbyTreasureBoxInfo : MonoBehaviour
{
[Header("現在の宝箱")]
[SerializeField]
private GameObject _nowBoxTitleRoot;
[SerializeField]
private UISprite _nowBoxSprite;
[SerializeField]
private Transform _movePos;
[Header("次の宝箱")]
[SerializeField]
private GameObject _nextBoxRoot;
[SerializeField]
private UISprite _nextBoxSprite;
private const float MOVE_TIME = 0.5f;
private const float OPEN_ANIMATION_START_TIME = 0.8f;
private const float OPEN_ANIMATION_TIME = 1.5f;
private GameObject _openEffect;
private Vector3 _backupNowBoxPos = Vector3.zero;
private bool _backupNextBoxRootActive;
public ArenaCommonLobbyLoadRequest Init(ArenaCommonLobbyInitParam initParam, List<string> unloadAssetList)
{
int battleWinNum = initParam.BattleWinNum;
_nowBoxSprite.spriteName = $"box_2pick_{battleWinNum:D2}_close";
bool flag = initParam.BattleResultList.Length < initParam.BattleMaxNum;
_nextBoxRoot.SetActive(flag);
if (flag)
{
_nextBoxSprite.spriteName = $"box_2pick_{battleWinNum + 1:D2}_close";
}
ArenaCommonLobbyLoadRequest arenaCommonLobbyLoadRequest = new ArenaCommonLobbyLoadRequest();
string effectName = $"cmn_arena_treasure_{battleWinNum + 1}";
arenaCommonLobbyLoadRequest.LoadAssetList.Add(Toolbox.ResourcesManager.GetAssetTypePath(effectName, ResourcesManager.AssetLoadPathType.Effect2D));
arenaCommonLobbyLoadRequest.LoadEndCallback = delegate
{
_openEffect = EffectUtility.CreateEffect2D(new Effect2dCreateParam
{
Parent = _nowBoxSprite.gameObject,
EffectName = effectName,
InitActive = false,
UnloadAssetList = unloadAssetList
});
};
return arenaCommonLobbyLoadRequest;
}
public void OpenBox(Action animationEndCallback = null)
{
StartCoroutine(OpenBoxCoroutine(animationEndCallback));
}
private IEnumerator OpenBoxCoroutine(Action animationEndCallback)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_2PICK_BOX_OPEN);
_backupNowBoxPos = _nowBoxSprite.transform.position;
_backupNextBoxRootActive = _nextBoxRoot.activeSelf;
_nowBoxTitleRoot.SetActive(value: false);
_nextBoxRoot.SetActive(value: false);
iTween.MoveTo(_nowBoxSprite.gameObject, iTween.Hash("position", _movePos.position, "time", 0.5f, "islocal", false, "easetype", iTween.EaseType.easeOutExpo));
yield return new WaitForSeconds(0.8f);
_nowBoxSprite.enabled = false;
_openEffect.SetActive(value: true);
yield return new WaitForSeconds(1.5f);
animationEndCallback.Call();
}
public void Reset()
{
_nowBoxTitleRoot.SetActive(value: true);
_nowBoxSprite.enabled = true;
_nowBoxSprite.transform.position = _backupNowBoxPos;
_nextBoxRoot.SetActive(_backupNextBoxRootActive);
_openEffect.SetActive(value: false);
}
}