Files
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

416 lines
9.7 KiB
C#

using System;
using System.Collections.Generic;
using CriWare;
using Cute;
using Wizard;
public class Se
{
public enum TYPE
{
NONE,
MAX,
BREAKCARD,
SYS_CARD_SCROLL,
SYS_COMMON_BUTTON,
SYS_COMMON_CANCEL,
SYS_COMMON_DECIDE,
SYS_TITLE_START,
SYS_BTN_DECIDE,
SYS_BTN_DECIDE_TRANS,
SYS_BTN_CANCEL,
SYS_BTN_CANCEL_TRANS,
SYS_SWITCH_MENU,
SYS_MENU_CARD,
SYS_SWITCH_MENU_CARD,
SYS_TOGGLE_ON,
SYS_TOGGLE_OFF,
SYS_SLIDE_BTN,
SYS_CARD_INFO,
SYS_MYPAGE_EVOLVE,
SYS_DRAG_CARD,
SYS_DECK_CARD_MOVE_IN,
SYS_DECK_CARD_MOVE_OUT,
SYS_USE_RED_ETHER,
SYS_GET_RED_ETHER,
SYS_CARDLIST_REVERSE,
SYS_DECK_IN,
SYS_DECK_OUT,
SYS_GIFT_ALL,
SYS_DIALOG_OPEN,
SYS_DL_CARD_APPEAR,
SYS_CARD_INFO_SMALL,
SYS_CARD_INFO_CANCEL,
SYS_FEED_TEXT,
SYS_SCROLL,
SYS_BAR_SLIDE,
SYS_CARD_TOUCH,
SYS_CARD_MOVE_SINGLE_1,
SYS_CARD_MOVE_SINGLE_2,
SYS_CARD_MOVE_SINGLE_3,
SYS_2PICK_SELECT,
SYS_2PICK_BOX_OPEN,
SYS_WINDOW_MOVE,
SYS_ROOM_IN,
SYS_ROOM_OUT,
SYS_LOTTERY_BOX_TOUCH,
SYS_BOX_OPEN_SP,
SE_BATTLE_MIN,
BATTLE_START_VS,
BATTLE_START_VS_ST2,
DRAW,
DRAW_CARD_OPEN_LG,
DRAW_CARD_OPEN,
MULLIGAN_SELECT_REPLACE_CARD,
MULLIGAN_CANCEL_REPLACE_CARD,
MULLIGAN_DECIDE,
MULLIGAN_CARD_RETURN,
SET_CARD_TO_HAND,
SYS_BREAK_CHARACTER,
SYS_TURN_END,
SYS_TURN_END_CONFIRM,
SYS_BATTLE_EVOLVE,
SYS_BATTLE_EVOLVE_DRAG,
SYS_BATTLE_EVOLVE_CUTIN,
SYS_BATTLE_EVOLVE_SKILL,
SYS_SPELL_CAST,
SYS_SUMMON_FALL,
SYS_SUMMON_CARD_DROP,
SYS_CAMERA_ZOOM_OUT,
SYS_ACTUVATE_TURNEND_BUTTON,
SYS_YOURTURN,
SYS_SUMMON_LANDING,
SYS_ENEMY_CARD_OPEN,
SYS_ENEMY_SET_CARD_TO_HAND,
SYS_ARROW_DRAG,
SYS_ARROW_SELECT,
SYS_DRAG_SLIDE,
SYS_RESULT_GAUGEUP,
SYS_RESULT_LEVELUP,
SYS_RESULT_RANKUP,
SYS_RESULT_WINDOW_APPER,
SYS_RESULT_YOUWIN,
SYS_RESULT_YOULOSE,
SYS_RESULT_PUZZLE_RESET,
SYS_RANK_UP_MACH_BEGIN,
SYS_RANK_UP_MACH_WINDOW_MOVE,
SYS_RANK_UP_MACH_WIN,
SYS_RANK_UP_MACH_SUCCESS,
SYS_RANK_UP_MACH_LOSE,
SYS_RANK_UP_MACH_FAILED,
SYS_RANK_UP_MACH_RANK_DOWN,
SYS_RANK_UP_MACH_SUCCES_2,
SYS_BOSS_RUSH_RESULT_APPEAR,
SYS_BOSS_RUSH_RESULT_CLEAR,
SYS_BOSS_RUSH_RESULT_MOVE,
SYS_OPEN_SEQUENCE_CARD,
SYS_CMN_CARD_DRAW_4,
SYS_CMN_CARD_SELECT_3,
SYS_CMN_CARD_RETURN_1,
SYS_ATTACK_ICON_1,
SYS_ATTACK_ICON_2,
SYS_ATTACK_ICON_3,
SYS_HAND_MOVE_CENTER,
SYS_HAND_MOVE_RIGHT,
SYS_BREAK_LEADER,
SYS_BREAK_LEADER_ST1,
SYS_BREAK_LEADER_ST2,
SYS_APPEAR_MANA,
SYS_APPEAR_LEADER,
SYS_CMN_CLASS_DECKOUT_1,
SYS_REPLAY_TURN_SKIPPING,
SE_SYS_WIN_REWARD_BOX_SMALL,
SE_SYS_WIN_REWARD_BOX_BIG,
SYS_CMN_UI_EP_6,
SYS_HBP_BUTTON,
SYS_HBP_UP,
SE_SYS_UPGRADE_TREASURE_BOX_01,
SE_SYS_UPGRADE_TREASURE_BOX_02,
SE_SYS_UPGRADE_TREASURE_BOX_03,
SE_SYS_UPGRADE_TREASURE_BOX_04,
SE_BATTLE_MAX,
SE_BATTLE_JINGLE_MIN,
SYS_JINGLE_WIN,
SYS_JINGLE_LOSE,
SE_BATTLE_JINGLE_MAX,
SE_GACHA_MIN,
SYS_GACHA_LEGEND,
SYS_GACHA_EPIC,
SYS_GACHA_RARE,
SYS_GACHA_COMMON,
SYS_GACHA_OPEN,
SYS_GACHA_APPEAR,
SYS_GACHA_MOVE,
SYS_GACHA_CHOICE,
SYS_GACHA_BACK,
SYS_GACHA_RARE_LOOP,
SYS_GACHA_EPIC_LOOP,
SYS_GACHA_LEGEND_LOOP,
SYS_GACHA_CARD_OUT,
SYS_GACHA_CARD_IN,
SE_GACHA_MAX,
SE_PROLOGUE_MIN,
SYS_PROLOGUE_CHAR_APPEAR,
SYS_PROLOGUE_CHAR_APPEAR_EFFECT,
SYS_PROLOGUE_CHAR_LEAVE,
SE_PROLOGUE_MAX,
SE_MAP_MIN,
SYS_MAP_CLEAR,
SYS_MAP_CAMERA_MOVE,
SYS_MAP_NEW_AREA_RELEASE,
SYS_MAP_CUTIN_TEXT,
SE_MAP_TREE_EFFECT,
SE_MAP_SECTION9_CHAPTER1,
SE_MAP_SECTION9_CHAPTER2,
SE_MAP_SECTION9_CHANGE_CHAPTER,
SE_MAP_BACKGROUND_CHANGE_FIRST_CLEAR_604,
SE_MAP_BACKGROUND_CHANGE_604,
SE_MAP_BACKGROUND_CHANGE_FIRST_CLEAR_614,
SE_MAP_CHAPTER_SELECT_FOCUS_CHANGE,
SE_MAP_CHAPTER_SELECT_CLEAR,
SE_MAP_CHAPTER_SELECT_CHAPTER_RELEASE,
SE_MAP_CHAPTER_SELECT_LOCKED_CHAPTER_RELEASE,
SE_MAP_CHAPTER_SELECT_UNLOCK,
SE_MAP_SECTION20_CHANGE_CHAPTER1,
SE_MAP_MAX,
SE_LOGIN_BONUS_MIN,
LOGIN_BONUS_STAMP_1,
LOGIN_BONUS_STAMP_2,
LOGIN_BONUS_STAMP_NEXT,
SE_LOGIN_BONUS_MAX
}
public class BtlSmnSEPlayTimeAndSeName
{
public DateTime PlayTime { get; private set; }
public string SeName { get; private set; }
public BtlSmnSEPlayTimeAndSeName()
{
PlayTime = DateTime.Now;
SeName = "NONE";
}
public void SetValue(DateTime playTime, string seName)
{
PlayTime = playTime;
SeName = seName;
}
}
private CriAtomSource m_SeAudioSource;
private CriAtomSource m_SeAudioSourcLoop;
private const string CATEGORY_NAME = "SE";
public const string CUESHEETNAME_LOGINBONUS = "se_login";
private Dictionary<TYPE, string> m_AudioData;
private float m_volume;
private bool m_isMuted;
private const int BTL_SMN_SE_DUPLICATE_CHECK_MILLISECOND = 180;
private BtlSmnSEPlayTimeAndSeName _btlSmnSEPlayTimeAndSeName;
private BtlSmnSEPlayTimeAndSeName _sysSEPlayTimeAndSeName;
public Se()
{
CriAtom.AttachDspBusSetting("DspBusSetting_0");
m_SeAudioSource = GameMgr.GetIns().GetGameObjMgr().GetGameObj()
.AddComponent<CriAtomSource>();
m_SeAudioSource.loop = false;
m_SeAudioSource.playOnStart = false;
m_SeAudioSource.use3dPositioning = false;
m_SeAudioSourcLoop = GameMgr.GetIns().GetGameObjMgr().GetGameObj()
.AddComponent<CriAtomSource>();
m_SeAudioSourcLoop.loop = true;
m_SeAudioSourcLoop.playOnStart = false;
m_SeAudioSourcLoop.use3dPositioning = false;
m_SeAudioSourcLoop.player.AttachFader();
m_SeAudioSourcLoop.player.SetFadeOutTime(150);
m_AudioData = new Dictionary<TYPE, string>();
_btlSmnSEPlayTimeAndSeName = new BtlSmnSEPlayTimeAndSeName();
_sysSEPlayTimeAndSeName = new BtlSmnSEPlayTimeAndSeName();
SetVolume(PlayerPrefsWrapper.GetValue(PlayerPrefsWrapper.SE_VOLUME));
Mute(PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.SOUND_MUTE));
}
public void Load(TYPE SeType, string Path)
{
if (!m_AudioData.ContainsKey(SeType))
{
m_AudioData.Add(SeType, Path);
}
}
public void UnLoad(TYPE SeType)
{
if (m_AudioData.ContainsKey(SeType))
{
m_AudioData.Remove(SeType);
}
}
public void SetVolume(float Prm)
{
CriAtomExCategory.SetVolume("SE", Prm);
m_volume = Prm;
}
public float GetVolume()
{
return m_volume;
}
public void Mute(bool isMute)
{
CriAtomExCategory.Mute("SE", isMute);
m_isMuted = isMute;
}
public bool IsMuted()
{
return m_isMuted;
}
public void SetAisac(string cuename, string param, float num)
{
Toolbox.AudioManager.SetAisac(cuename, param, num);
}
public void SetAisac(TYPE SeType, string param, float num)
{
Toolbox.AudioManager.SetAisac(m_AudioData[SeType], param, num);
}
private void AddSeCueSheetPlay(TYPE SeType, bool isSeSysSummonLandingDuplicateCheck = false)
{
string acbName = "preinstall";
if (SeType >= TYPE.SE_BATTLE_MIN && SeType <= TYPE.SE_BATTLE_MAX)
{
acbName = "se_battle";
}
else if (SeType >= TYPE.SE_BATTLE_JINGLE_MIN && SeType <= TYPE.SE_BATTLE_JINGLE_MAX)
{
acbName = "bgm_btl_jingle";
}
else if (SeType >= TYPE.SE_GACHA_MIN && SeType <= TYPE.SE_GACHA_MAX)
{
acbName = "se_gacha";
}
else if (SeType >= TYPE.SE_PROLOGUE_MIN && SeType <= TYPE.SE_PROLOGUE_MAX)
{
acbName = "se_st_prologue";
}
else if (SeType >= TYPE.SE_MAP_MIN && SeType <= TYPE.SE_MAP_MAX)
{
acbName = "se_st_map";
}
else if (SeType >= TYPE.SE_LOGIN_BONUS_MIN && SeType <= TYPE.SE_LOGIN_BONUS_MAX)
{
acbName = "se_login";
}
string text = m_AudioData[SeType];
if (isSeSysSummonLandingDuplicateCheck && SeType == TYPE.SYS_SUMMON_LANDING)
{
DateTime now = DateTime.Now;
if ((now - _sysSEPlayTimeAndSeName.PlayTime).TotalMilliseconds < 180.0 && _sysSEPlayTimeAndSeName.SeName == text)
{
return;
}
_sysSEPlayTimeAndSeName.SetValue(now, text);
}
Toolbox.AudioManager.PlaySeFromName(acbName, text, loop: false, 0f, 0L);
}
public void Play(TYPE SeType, bool isSeSysSummonLandingDuplicateCheck)
{
if (SeType == TYPE.NONE)
{
return;
}
try
{
AddSeCueSheetPlay(SeType, isSeSysSummonLandingDuplicateCheck);
}
catch
{
Debug.LogError("SE ERR " + SeType);
}
}
public void PlayByStr(string SeStr, string AcbName, float fadeInTime, long startTime)
{
try
{
if (SeStr.Contains("btl") || SeStr.Contains("smn"))
{
DateTime now = DateTime.Now;
if ((now - _btlSmnSEPlayTimeAndSeName.PlayTime).TotalMilliseconds < 180.0 && _btlSmnSEPlayTimeAndSeName.SeName == SeStr)
{
return;
}
_btlSmnSEPlayTimeAndSeName.SetValue(now, SeStr);
}
Toolbox.AudioManager.PlaySeFromName(AcbName, SeStr, loop: false, fadeInTime, startTime);
}
catch
{
Debug.LogError("SE ERR " + SeStr);
}
}
public void PlayLoop(TYPE SeType)
{
try
{
AddSeCueSheetPlay(SeType);
}
catch
{
Debug.LogError("SE ERR " + SeType);
}
}
public void PlayLoopByStr(string SeStr, float fadeInTime, long startTime)
{
try
{
Toolbox.AudioManager.PlaySeFromName(SeStr, SeStr, loop: true, fadeInTime, startTime);
}
catch
{
Debug.LogError("SE ERR " + SeStr);
}
}
public void AisacChange(float aisacnum)
{
if (m_SeAudioSourcLoop.status == CriAtomSource.Status.Playing)
{
m_SeAudioSourcLoop.SetAisacControl("Speed", aisacnum);
}
}
public void Stop(string cuename, float fadeOutTime)
{
Toolbox.AudioManager.StopSe(cuename, fadeOutTime);
}
public void Stop(TYPE setype, float fadetime = 0f)
{
Toolbox.AudioManager.StopSe(m_AudioData[setype], fadetime);
}
public void StopAll(float fadeOutTime)
{
Toolbox.AudioManager.StopSeAll(fadeOutTime);
}
}