engine cleanup passes 4-7 + multi-instancing ambient rip
Squashes 146 commits from battle-engine-extraction. Net: 2,045 files changed, +11,896 / -158,687 lines. Ships engine passes 4-7 (dead-code cull, view-layer stub, receive-path shrink) plus the Phase-5 AsyncLocal ambient deletion that turns concurrent battles into a type-system property rather than a scope contract. ## What landed **Passes 4-7 (chunks 1-34):** Extended the Phase-4 const-false collapse into a cascading cull across the skill graph, view layer, and receive-path periphery. Six mode flags (IsWatchBattle/IsReplayBattle/IsAdmin/IsAdminWatch/IsPuzzleQuest/ IsAINetwork) became `const false`, every guarded block deleted. Field*.cs subclass ctors + BackGroundBase + ObjectChecker culled to no-ops. Mulligan family reworked to take a mgr param through IMulliganMgr.InitMulligan. Emotion/Recovery/Resource clusters null-stubbed. Prediction/OperationSimulator/ skill filters converted from static ambient reads to per-mgr reads via SkillPrm.ownerCard.SelfBattlePlayer.BattleMgr / ins.BattleMgr / this.BattleMgr. **Phase-5 ambient rip (chunks 35-47):** Deleted BattleAmbient / BattleAmbient- Context / TestBattleScope in full. Every per-battle mutable slot now lives on the mgr instance itself: mgr.InstanceIsForecast / InstanceIsRandomDraw / InstanceRecoveryInfo / InstanceViewerId / InstanceNetworkAgent / GameMgr BattleManagerBase.GetIns() returns null unconditionally; the residual static flags + 3 façades (Certification.ViewerId, Data.BattleRecoveryInfo, ToolboxGame.RealTimeNetworkAgent) are null-tolerant defaults kept for the handful of engine-internal readers that still reference their types. Zero BattleAmbient references anywhere in engine + node + tests. Added pre-seeded GameMgr ctor overload threaded through the mgr chain (BattleManagerBase → SingleBattleMgr / NetworkBattleManagerBase → NetworkStandard- BattleMgr → HeadlessBattleMgr / HeadlessNetworkBattleMgr). Fixtures build a GameMgr, seed it via HeadlessEngineEnv.SeedCharaIds/SeedNetUser, and pass it to the mgr's ctor — no ambient reach. Node side (SVSim.BattleNode/SessionBattleEngine): _ctx replaced with a plain GameMgr field; 34 `using var _ambient = BattleAmbient.Enter(_ctx)` scope wraps ripped from every accessor and mutator; EngineGlobalInit.WirePerSessionGameMgr takes GameMgr as a param and runs from SessionBattleEngine.SetupInternal BEFORE mgr construction. Test side: TestBattleScope deleted; 18 fixture [SetUp]s migrated to `HeadlessEngineEnv.EnsureProcessGlobals()`; MultiInstanceEngineTests rewritten around per-mgr construction (GetIns() → null is the pinned invariant). ## Regression fixes - **chunk-48** (MulliganCtrl): chunk-35's `= null` stubs on card lookups broke the live receive-driven Deal path (BattlePlayerBase.DrawCard NRE'd downstream of NetworkPlayerMulliganCtrl.StartMulliganVfx). Restored the three lookups via `_battlePlayer.BattleMgr.GetBattleCardIdx`. Engine tests were satisfied by the WireMulliganPhase seam; unit tests exposed the live-path gap. ## Ship state - SVSim.BattleEngine.Tests: 56/56 pass, 2 skip - SVSim.UnitTests: 1554/1554 pass (was 1523/31-fail before chunk 48) - Solution build: 0 source warnings (40 pre-existing NU1902 MessagePack CVEs in SVSim.EmulatedEntrypoint, unrelated) - Sequential PVP smoke: verified live (two back-to-back battles, no regression on cleanup/spinup) - Concurrent PVP smoke: verified live Adds tools/engine-port/ClosureAnalyzer/ — the Roslyn transitive-type-closure analyzer needed to make future cascade cleanup safe (per feedback memory "Engine cleanup needs closure tool" from the 2026-06-28 pass-3 failure). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2,182 +2,86 @@
|
||||
// Members live in the sibling <Type>.g.cs (base-less); this file only carries inheritance.
|
||||
using UnityEngine;
|
||||
|
||||
namespace Wizard.Battle.View.Vfx { public partial class AddTokenDeckVfx : SpreadOutVfx { } }
|
||||
namespace Wizard.Battle.Touch { public partial class AttackTargetSelectTouchProcessor : CardTouchProcessorBase { } }
|
||||
namespace Wizard.Battle.UI { public partial class AvatarBattleBonusItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.UI { public partial class AvatarBattlePassiveBonusItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.UI { public partial class AvatarBattleTitleItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class AwakeSkillActivationVfx : LoadAndPlayEffectVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class BanishDeckCardVfx : OpenCardVfx { } }
|
||||
namespace Wizard.Battle.View { public partial class BattleEnemyView : BattlePlayerViewBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class BattleLoadingEndVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.UI { public partial class BattleLogItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View { public partial class BattlePlayerView : BattlePlayerViewBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class BattleStarter : ProcessingBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class BerserkSkillActivationVfx : LoadAndPlayEffectVfx { } }
|
||||
namespace Wizard.Battle.UI { public partial class BishopInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.UI { public partial class BishopSummonTokenInfomationUI : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.UI { public partial class BossRushEnemySpecialSkillItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class CanNotTouchCardVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ChangeChantCountVfx : ShowChantCountVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ChangeInPlayViewVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ChangeWhiteRitualCountVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class ChapterCharaDecider : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class ChapterCharaDecider : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Battle.Touch { public partial class ChoiceBraveTouchProcessor : ChoiceTouchProcessor { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class Class3dEvolveVfx : EvolveVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ClassCardVfxCreatorBase : CardVfxCreatorBase { } }
|
||||
namespace Wizard.UI.Profile { public partial class ClassPage : Page { } }
|
||||
namespace Wizard.UI.Profile { }
|
||||
namespace Wizard.Story.ChapterSelection { public partial class CommonPrefabContainer : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class CostChangeVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DamageVfx : DamageVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DamageVfxBase : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DeckChangeVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DeckOutWinVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class DeckSelectionConfirmDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DeckSelectionConfirmDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class DeckSelectionDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DeckSelectionDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DeckSelfSummonVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard { public partial class DeckUpdateTask : BaseTask { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DefaultOpeningVfx : OpeningVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DelaySetupVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DestroyVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard.UI.Dialog { public partial class DialogContactMenu : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.UI.Dialog { }
|
||||
namespace Wizard.UI.Dialog { public partial class DialogSpeedChallenge : MonoBehaviour { } }
|
||||
namespace Wizard.UI.Dialog { public partial class DialogSpeedChallengeResult : MonoBehaviour { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class Download : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DownloadConfirmDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class DownloadInfoGetter : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DownloadInfoGetter : ProcessingBase { } }
|
||||
namespace Wizard.Battle.UI { public partial class DragonInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DrawSpecialTokenVfx : SpreadOutVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DrawTokenVfx : SpreadOutVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DummyDeckChangeCardVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class DummyDeckRemoveCardVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EffectBattleVfxBase : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.UI { public partial class ElfInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.Touch { public partial class EmotionHideMessageVfx : global::Wizard.Battle.View.Vfx.SequentialVfxPlayer { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.View { public partial class EnemyClassBattleCardView : ClassBattleCardViewBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EnemyClassCardVfxCreator : ClassCardVfxCreatorBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EnemyDeckOutVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EnemyMulliganDrawVfx : OpponentMulliganDrawCardVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EnemyMulliganSwapVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EpChangeVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.Touch { public partial class EvolutionHideMessageVfx : global::Wizard.Battle.View.Vfx.SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EvolveImageChangeVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EvolveNameChangeVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EvolveUnitMaskCardInPlayVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class EvolveVfx : EvolveVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class FallToGroundVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View { public partial class FieldBattleCardView : BattleCardView { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class FieldCardVfxCreator : CardVfxCreatorBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class FieldMaskCardInPlayVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastBanishIconAttachVfx : ForecastIconVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastDamageIconAttachVfx : ForecastIconVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastDeathIconAttachVfx : ForecastIconVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastIconVfxBase : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastRandomSkillUseCardVfx : ForecastIconVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ForecastRandomSkillUseMessageVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.Touch { public partial class FusionWaitProcessor : SetCardProcessor { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class HandEffectLoopEndVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class HandEffectLoopStartVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class HideForecastRandomSkillUseMessageVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class HighRankEvolveVfx : EvolveVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.UI.Dialog.ImageSelection { public partial class ImageSelection : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class LoadAndPlayEffectVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard { public partial class MailTopTask : BaseTask { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class MetamorphoseHandCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class MetamorphoseInPlayCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class MoveToDeckVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class MulliganEndVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard { public partial class MyPageTask : BaseTask { } }
|
||||
namespace Wizard.Battle.UI { public partial class MyRotationBonusItem : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.UI { public partial class NecromanceInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class NecromanceSkillActivationVfx : LoadAndPlayEffectVfx { } }
|
||||
namespace Wizard.Battle.UI { public partial class NemesisInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.View { public partial class NonDialogPopup : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View { public partial class NullClassBattleCardView : NullBattleCardView { } }
|
||||
namespace Wizard.Battle.View { public partial class NullEnemyBattleView : BattleEnemyView { } }
|
||||
namespace Wizard.Battle.View { public partial class NullFieldBattleCardView : FieldBattleCardView { } }
|
||||
namespace Wizard.Battle.View { public partial class NullPlayerBattleView : BattlePlayerView { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OneShotHeavenlyAegisPlayVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OpenCardFromHandVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OpenCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OpponentDrawCardToHandVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OpponentDrawCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class OpponentMulliganDrawCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.UI.Profile { public partial class Page : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayCRISoundVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayEffectAndSeVfx : PlayEffectVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayEffectVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerAndEnemyReadyVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.UI.Profile { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View { public partial class PlayerClassBattleCardView : ClassBattleCardViewBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerClassCardVfxCreator : ClassCardVfxCreatorBase { } }
|
||||
namespace Wizard.RoomMatch { public partial class PlayerControllerForOwn : PlayerController { } }
|
||||
namespace Wizard.RoomMatch { public partial class PlayerControllerForWatching : PlayerController { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerDeckOutVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerDrawCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerEndDrawVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerMulliganDrawVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PlayerMulliganSwapVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PpChangeVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class PpIncreaseVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ReactiveSkillActivationVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class RecoveryEvolveVfx : EvolveVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class RefreshAttackVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class RefreshHealthVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class RemoveChantCountVfx : VfxBase { } }
|
||||
namespace Wizard.RoomMatch { public partial class ReplayDataHandler : WatchDataHandler { } }
|
||||
namespace Wizard.Battle.UI { public partial class ReplayMoveTurnWindow : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ReturnCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.RoomMatch { }
|
||||
namespace Wizard.RoomMatch { }
|
||||
namespace Wizard.RoomMatch { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.RoomMatch { public partial class RoomBase : MonoBehaviour { } }
|
||||
namespace Wizard.RoomMatch { public partial class RoomRuleSelectDialog : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.UI { public partial class RoyalInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SetShortageDeckWinVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ShowCardNumberLabelVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ShowChantCountVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ShowSideLogVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SkillEffectBattleVfx : EffectBattleVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SkillEvolveVfx : EvolveVfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SkillSelectHandCardsVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.View { public partial class SpellBattleCardView : BattleCardView { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SpellCardVfxCreator : CardVfxCreatorBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SpellChargeSkillActivationVfx : VfxWithLoadingSequential { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SpreadOutVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartChoiceSelectVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartEvolutionChoiceEffectVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartEvolutionTargetFocusVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartPickCardVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartPlaySpellVfx : StartPickCardVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartSkillSelectVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StartSummonCardVfx : StartPickCardVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StopArrowMoveVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StopEvolutionChoiceEffectVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class StopEvolutionTargetFocasVfx : VfxBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class StoryStarter : ProcessingBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SubChapterSelectionDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard { public partial class SubChapterStorySectionBtn : MonoBehaviour { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SummaryDialogDisplay : ProcessingBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SummonCardPreperationVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SummonCardShakeCameraVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SummonUnitOverflowVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class SummonUnitVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.UI.Common { public partial class TabList : MonoBehaviour { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ThinkIconHideVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class ThinkIconShowVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class TurnStartEvolveVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.Tutorial { public partial class TutorialBattleMgrBase : BattleManagerBase { } }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class TutorialStoryStarter : ProcessingBase { } }
|
||||
namespace Wizard.Battle.Tutorial { }
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
|
||||
namespace Wizard.Battle.View { public partial class UnitBattleCardView : BattleCardView { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class UnitCardVfxCreator : CardVfxCreatorBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class UpdateEpVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.UI { public partial class VampireInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitCallbackVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitEventVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitLoadEffectAndSetSeVfx : WaitLoadEffectVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitLoadEffectVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitLoadResourceVfx : VfxBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WaitLoadVoiceResourceVfx : WaitLoadResourceVfx { } }
|
||||
namespace Wizard.Battle.View.Vfx { public partial class WhenPlaySkillActivationVfx : SequentialVfxPlayer { } }
|
||||
namespace Wizard.Battle.UI { public partial class WitchInfomationUI : ClassInfomationUIBase { } }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.View.Vfx { }
|
||||
namespace Wizard.Battle.UI { }
|
||||
|
||||
Reference in New Issue
Block a user