From 2ddc86943e38f2beb50ccc5399f08dd7ae24fb2f Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 5 Jun 2026 22:24:22 -0400 Subject: [PATCH] feat(battle-engine): re-establish dropped base clauses for net-new stubs (2704->2202 true) The stub generator emits net-new types as base-LESS partials, so generated Vfx/View types weren't actually VfxBase/etc. -> hundreds of CS1503/CS0029 'cannot convert to VfxBase' at every polymorphic call site. m1_baseclauses.py recovers each generated type's decomp base CLASS (interfaces dropped to avoid CS0535) into _BaseClauses.g.cs, cross-namespace bases fully qualified. Generated the intermediate Vfx/processing base types (SpreadOutVfx/OpenCardVfx/ProcessingBase/DamageVfxBase/ForecastIconVfxBase/...). DefaultOpeningVfx regenerated WITH override (its base OpeningVfx is copied+abstract). Clearing the polymorphism cascade + the masking base-type CS0246s unmasked the true member-level frontier: 2202 (CS1501/CS1061/CS1503), 0 structural errors. Co-Authored-By: Claude Opus 4.8 --- SVSim.BattleEngine/COPIED.manifest.tsv | 7 + .../Enemy3dClassCharacter.cs | 73 ++++++ .../EnemyHighRankSpineClassCharacter.cs | 143 +++++++++++ .../EnemySpineClassCharacter.cs | 135 ++++++++++ .../Player3dClassCharacter.cs | 82 ++++++ .../PlayerSpineClassCharacter.cs | 123 +++++++++ .../SkinEffectVfx.cs | 145 +++++++++++ .../SpineClassCharacter.cs | 234 ++++++++++++++++++ .../Generated/CardTouchProcessorBase.g.cs | 28 +++ .../Shim/Generated/DamageVfxBase.g.cs | 33 +++ .../Shim/Generated/DefaultOpeningVfx.g.cs | 2 +- .../Shim/Generated/ForecastIconVfxBase.g.cs | 15 ++ .../Shim/Generated/OpenCardVfx.g.cs | 25 ++ .../OpponentMulliganDrawCardVfx.g.cs | 17 ++ SVSim.BattleEngine/Shim/Generated/Page.g.cs | 15 ++ .../Shim/Generated/PlayEffectVfx.g.cs | 29 +++ .../Shim/Generated/ProcessingBase.g.cs | 10 + .../Shim/Generated/SpreadOutVfx.g.cs | 28 +++ .../Shim/Generated/StartPickCardVfx.g.cs | 14 ++ .../Shim/Generated/WaitLoadEffectVfx.g.cs | 14 ++ .../Shim/Generated/_BaseClauses.g.cs | 168 +++++++++++++ 21 files changed, 1339 insertions(+), 1 deletion(-) create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Enemy3dClassCharacter.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemyHighRankSpineClassCharacter.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemySpineClassCharacter.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Player3dClassCharacter.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/PlayerSpineClassCharacter.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SkinEffectVfx.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SpineClassCharacter.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/CardTouchProcessorBase.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/DamageVfxBase.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/ForecastIconVfxBase.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/OpenCardVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/OpponentMulliganDrawCardVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/Page.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/PlayEffectVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/SpreadOutVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/StartPickCardVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/WaitLoadEffectVfx.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs diff --git a/SVSim.BattleEngine/COPIED.manifest.tsv b/SVSim.BattleEngine/COPIED.manifest.tsv index c9a20cc..d10ecd0 100644 --- a/SVSim.BattleEngine/COPIED.manifest.tsv +++ b/SVSim.BattleEngine/COPIED.manifest.tsv @@ -1548,10 +1548,17 @@ Wizard.Battle.Phase\ResultPhase.cs Wizard.Battle.Phase\ResultPhase.cs 82729c54c9 Wizard.Battle.Phase\SingleMulliganPhase.cs Wizard.Battle.Phase\SingleMulliganPhase.cs 949ba3c58a0cb59f6ed337a46c3b949a60387390c0b310f545465dc09e7d6e48 0 Wizard.Battle.Player.ClassCharacter\Class3dCharacterBase.cs Wizard.Battle.Player.ClassCharacter\Class3dCharacterBase.cs e30cc0fc68c1164411d0420f753d2597c166db94670eb8959bbfca401d7088ca 0 Wizard.Battle.Player.ClassCharacter\ClassCharacterBase.cs Wizard.Battle.Player.ClassCharacter\ClassCharacterBase.cs 76c74e23c52d36176339dfb50f6885660ef587601b80cc2a882682bf0332429c 0 +Wizard.Battle.Player.ClassCharacter\Enemy3dClassCharacter.cs Wizard.Battle.Player.ClassCharacter\Enemy3dClassCharacter.cs 008552369d7cb9b211b2e716720426c08d90bce73cadccd3f7aed604073a38ab 0 +Wizard.Battle.Player.ClassCharacter\EnemyHighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\EnemyHighRankSpineClassCharacter.cs 80b845a7d684ad11650a7f0d1e53cf58a7a77a3e2e67cabee57bcc13f9ffdeda 0 +Wizard.Battle.Player.ClassCharacter\EnemySpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\EnemySpineClassCharacter.cs 29d31783eae046241a610d19915e376c22fed76935ff2077035dd22350e3ee4d 0 Wizard.Battle.Player.ClassCharacter\HighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\HighRankSpineClassCharacter.cs 17f31270da67508f21987a11ad6978745cade12c9dec53249b6a508a58a2e773 0 Wizard.Battle.Player.ClassCharacter\IClassCharacter.cs Wizard.Battle.Player.ClassCharacter\IClassCharacter.cs c1a985539e3b304260d87f4af6ec249d939dc0385e7cd902634296c4127d991f 0 +Wizard.Battle.Player.ClassCharacter\Player3dClassCharacter.cs Wizard.Battle.Player.ClassCharacter\Player3dClassCharacter.cs 51fd37fe40a0b1a2227d3108c993f5b508290624825be65a3055e09729877860 0 Wizard.Battle.Player.ClassCharacter\PlayerClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerClassCharacter.cs 79c4a5b7b34b79abf748ba421fcba213eecc04c789ee5ea8e5903abea2c05fa2 0 Wizard.Battle.Player.ClassCharacter\PlayerHighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerHighRankSpineClassCharacter.cs fd0ac732efff8feee43aabf86cfc089e93f874ad8e4a40e60e538cf092b4e821 0 +Wizard.Battle.Player.ClassCharacter\PlayerSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerSpineClassCharacter.cs dada07b44ca77565d464f8b06c2e6e50bd5bbf46308c0b25042551cc2dfe5b30 0 +Wizard.Battle.Player.ClassCharacter\SkinEffectVfx.cs Wizard.Battle.Player.ClassCharacter\SkinEffectVfx.cs 615c275919ee29473983b6a5386e64ebfb2bff959d9231863f8b72506da5756e 0 +Wizard.Battle.Player.ClassCharacter\SpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\SpineClassCharacter.cs fa478f3dc08ddf42951add4bc12ce65f6588d8974ac1941bd2ef88beb564fb55 0 Wizard.Battle.Player.ClassCharacter\SpineObject.cs Wizard.Battle.Player.ClassCharacter\SpineObject.cs bd325662311d523dc9948557b3ddf899ed5a72fe18430f69e307360f7fa6758f 0 Wizard.Battle.Player.Emotion\Debug722006NullVfx.cs Wizard.Battle.Player.Emotion\Debug722006NullVfx.cs 65801eb05b7c9ee4c6514faa6d67f2d632ee95a47a74836a2f34072fe19a30db 0 Wizard.Battle.Player.Emotion\EmotionBase.cs Wizard.Battle.Player.Emotion\EmotionBase.cs 8a8edb24dbf845b07acf74e70658335d8fe23f67105e1e70e814153b836d4fad 0 diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Enemy3dClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Enemy3dClassCharacter.cs new file mode 100644 index 0000000..a92c6f7 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Enemy3dClassCharacter.cs @@ -0,0 +1,73 @@ +using UnityEngine; +using Wizard.Battle.View.Vfx; + +namespace Wizard.Battle.Player.ClassCharacter; + +public class Enemy3dClassCharacter : Class3dCharacterBase +{ + private readonly Vector3 PP_PANEL_POSITION = new Vector3(0f, -34.22f, -29.25f); + + private readonly Vector3 WIDGET_POSITION = new Vector3(0f, 490f, 30f); + + private readonly int WIDGET_OFFSET_TOP = -1162; + + private readonly int WIDGET_OFFSET_BOTTOM = 195; + + protected override Vector3 MessagePosition => _initPosition + new Vector3(0f, -0.3f, 0f); + + public Enemy3dClassCharacter(int classId) + { + _classCharacterId = classId; + IsPlayer = false; + } + + public override VfxBase CreateLoadResouceVfx() + { + SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create(); + sequentialVfxPlayer.Register(base.CreateLoadResouceVfx()); + sequentialVfxPlayer.Register(InstantVfx.Create(delegate + { + _root.transform.localPosition = Vector3.left * 10f; + base.GameObject.transform.Find("Collider").gameObject.GetComponent().size = new Vector3(3.8f, 3.9f, 0.2f); + })); + return sequentialVfxPlayer; + } + + protected override string GetTagName() + { + return "Enemy"; + } + + protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) + { + return Quaternion.Euler(0f, -180f, 180f); + } + + protected override Vector3 GetPosition() + { + return Global.CLASS_BATTLE_POSITION_ENEMY; + } + + protected override void SetUpAnchor(GameObject o) + { + o.transform.localPosition = WIDGET_POSITION; + UIWidget uIWidget = o.AddComponent(); + uIWidget.topAnchor.relative = 1f; + uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; + Transform target = BattleManagerBase.GetIns().Battle3DContainer.transform.Find("Camera"); + uIWidget.topAnchor.target = target; + uIWidget.bottomAnchor.target = target; + uIWidget.bottomAnchor.relative = 0.5f; + uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; + } + + protected override void AttachOtherUI(GameObject o) + { + BattleManagerBase.GetIns().BattleEnemy.BattleView.EpPanel.transform.parent = o.transform; + EnemyStatusPanelControl enemyStatusPanelControl = BattleManagerBase.GetIns().BattleEnemy.StatusPanelControl as EnemyStatusPanelControl; + if ((bool)enemyStatusPanelControl) + { + enemyStatusPanelControl.ChangePPPanelParent(o.transform, PP_PANEL_POSITION); + } + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemyHighRankSpineClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemyHighRankSpineClassCharacter.cs new file mode 100644 index 0000000..5dd5052 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemyHighRankSpineClassCharacter.cs @@ -0,0 +1,143 @@ +using UnityEngine; +using Wizard.Battle.View.Vfx; + +namespace Wizard.Battle.Player.ClassCharacter; + +internal class EnemyHighRankSpineClassCharacter : HighRankSpineClassCharacter +{ + protected readonly Vector3 WIDGET_POSITION = new Vector3(0f, 490f, 30f); + + protected readonly int WIDGET_OFFSET_BOTTOM = 195; + + protected readonly int WIDGET_OFFSET_TOP = -1162; + + protected readonly Vector3 PP_PANEL_POSITION = new Vector3(0f, -34.22f, -29.25f); + + protected override Vector3 MessagePosition => _initPosition + new Vector3(0f, -0.3f, 0f); + + public override VfxBase CreateLoadResouceVfx() + { + SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create(); + sequentialVfxPlayer.Register(base.CreateLoadResouceVfx()); + sequentialVfxPlayer.Register(InstantVfx.Create(delegate + { + base.GameObject.transform.Find("Collider").gameObject.GetComponent().size = new Vector3(3.8f, 3.9f, 0.2f); + })); + return sequentialVfxPlayer; + } + + protected override string GetTagName() + { + return "Enemy"; + } + + protected override void SetUpAnchor(GameObject o) + { + o.transform.localPosition = WIDGET_POSITION; + UIWidget uIWidget = o.AddComponent(); + uIWidget.topAnchor.relative = 1f; + uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; + Transform target = BattleManagerBase.GetIns().Battle3DContainer.transform.Find("Camera"); + uIWidget.topAnchor.target = target; + uIWidget.bottomAnchor.target = target; + uIWidget.bottomAnchor.relative = 0.5f; + uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; + } + + protected override void AttachOtherUI(GameObject o) + { + BattleManagerBase.GetIns().BattleEnemy.BattleView.EpPanel.transform.parent = o.transform; + EnemyStatusPanelControl enemyStatusPanelControl = BattleManagerBase.GetIns().BattleEnemy.StatusPanelControl as EnemyStatusPanelControl; + if ((bool)enemyStatusPanelControl) + { + enemyStatusPanelControl.ChangePPPanelParent(o.transform, PP_PANEL_POSITION); + } + } + + public override Vector3 GetSpinePosition() + { + return new Vector3(0f, -0.36f, -0.27f); + } + + protected override string GetTextureName() + { + return "mt_Encampment_Chara_1_Rev"; + } + + public override Vector3 GetMaskImagePosition() + { + return new Vector3(0f, 0.04f, 0f); + } + + protected override Vector3 GetShieldPosition() + { + return new Vector3(1.86f, 0.4f, 0f); + } + + protected override Vector3 GetLifeIconPosition() + { + return new Vector3(0f, 0f, 0.1f); + } + + public override Quaternion GetMaskImageRotation() + { + return Quaternion.Euler(new Vector3(0f, 0f, 180f)); + } + + public override Vector3 ConvertSpineScale(Vector3 originalScale) + { + if (GameMgr.GetIns().GetDataMgr().GetEnemyBattleSkillReverse() == 1) + { + return new Vector3((0f - originalScale.x) * 0.934f, originalScale.y, originalScale.z) * 1.003125f; + } + return new Vector3(originalScale.x * 0.934f, originalScale.y, originalScale.z); + } + + public override int GetSpineSortingOrder(bool isBack = false) + { + if (!isBack) + { + return -1; + } + return -9; + } + + public override int GetMaskSortingOrder(bool isBack = false) + { + if (!isBack) + { + return -1; + } + return -9; + } + + protected override int GetEmoteLabelDepth() + { + return 0; + } + + protected override int GetCharaId() + { + return GameMgr.GetIns().GetDataMgr().GetEnemyCharaId(); + } + + public override int GetSkinId() + { + return GameMgr.GetIns().GetDataMgr().GetEnemySkinId(); + } + + public override int GetStencil() + { + return 2; + } + + protected override Vector3 GetPosition() + { + return Global.CLASS_BATTLE_POSITION_ENEMY; + } + + protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) + { + return Quaternion.Euler(0f, -180f, 180f); + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemySpineClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemySpineClassCharacter.cs new file mode 100644 index 0000000..de865a4 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/EnemySpineClassCharacter.cs @@ -0,0 +1,135 @@ +using UnityEngine; +using Wizard.Battle.View.Vfx; + +namespace Wizard.Battle.Player.ClassCharacter; + +internal class EnemySpineClassCharacter : SpineClassCharacter +{ + protected readonly Vector3 WIDGET_POSITION = new Vector3(0f, 490f, 30f); + + protected readonly int WIDGET_OFFSET_BOTTOM = 195; + + protected readonly int WIDGET_OFFSET_TOP = -1162; + + protected readonly Vector3 PP_PANEL_POSITION = new Vector3(0f, -34.22f, -29.25f); + + protected override Vector3 MessagePosition => _initPosition + new Vector3(0f, -0.3f, 0f); + + public override VfxBase CreateLoadResouceVfx() + { + SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create(); + sequentialVfxPlayer.Register(base.CreateLoadResouceVfx()); + sequentialVfxPlayer.Register(InstantVfx.Create(delegate + { + base.GameObject.transform.Find("Collider").gameObject.GetComponent().size = new Vector3(3.8f, 3.9f, 0.2f); + })); + return sequentialVfxPlayer; + } + + protected override string GetTagName() + { + return "Enemy"; + } + + protected override void SetUpAnchor(GameObject o) + { + o.transform.localPosition = WIDGET_POSITION; + UIWidget uIWidget = o.AddComponent(); + uIWidget.topAnchor.relative = 1f; + uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; + Transform target = BattleManagerBase.GetIns().Battle3DContainer.transform.Find("Camera"); + uIWidget.topAnchor.target = target; + uIWidget.bottomAnchor.target = target; + uIWidget.bottomAnchor.relative = 0.5f; + uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; + } + + protected override void AttachOtherUI(GameObject o) + { + BattleManagerBase.GetIns().BattleEnemy.BattleView.EpPanel.transform.parent = o.transform; + EnemyStatusPanelControl enemyStatusPanelControl = BattleManagerBase.GetIns().BattleEnemy.StatusPanelControl as EnemyStatusPanelControl; + if ((bool)enemyStatusPanelControl) + { + enemyStatusPanelControl.ChangePPPanelParent(o.transform, PP_PANEL_POSITION); + } + } + + public override Vector3 GetSpinePosition() + { + return new Vector3(0f, -0.36f, -0.17f); + } + + protected override string GetTextureName() + { + return "mt_Encampment_Chara_1_Rev"; + } + + public override Vector3 GetMaskImagePosition() + { + return new Vector3(0f, 0.04f, 0f); + } + + protected override Vector3 GetShieldPosition() + { + return new Vector3(1.86f, 0.4f, 0f); + } + + protected override Vector3 GetLifeIconPosition() + { + return new Vector3(0f, 0f, 0.1f); + } + + public override Quaternion GetMaskImageRotation() + { + return Quaternion.Euler(new Vector3(0f, 0f, 180f)); + } + + public override Vector3 ConvertSpineScale(Vector3 originalScale) + { + if (GameMgr.GetIns().GetDataMgr().GetEnemyBattleSkillReverse() == 1) + { + return new Vector3((0f - originalScale.x) * 0.934f, originalScale.y, originalScale.z) * 1.003125f; + } + return new Vector3(originalScale.x * 0.934f, originalScale.y, originalScale.z); + } + + public override int GetSpineSortingOrder(bool isBack = false) + { + return -1; + } + + public override int GetMaskSortingOrder(bool isBack = false) + { + return -1; + } + + protected override int GetEmoteLabelDepth() + { + return 0; + } + + protected override int GetCharaId() + { + return GameMgr.GetIns().GetDataMgr().GetEnemyCharaId(); + } + + public override int GetSkinId() + { + return GameMgr.GetIns().GetDataMgr().GetEnemySkinId(); + } + + public override int GetStencil() + { + return 2; + } + + protected override Vector3 GetPosition() + { + return Global.CLASS_BATTLE_POSITION_ENEMY; + } + + protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) + { + return Quaternion.Euler(0f, -180f, 180f); + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Player3dClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Player3dClassCharacter.cs new file mode 100644 index 0000000..57dd9d7 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/Player3dClassCharacter.cs @@ -0,0 +1,82 @@ +using UnityEngine; + +namespace Wizard.Battle.Player.ClassCharacter; + +public class Player3dClassCharacter : Class3dCharacterBase +{ + private readonly float ScreenWidthFraction = 0.5f; + + private readonly float ScreenHeightFraction = 0.05f; + + private readonly Vector3 WIDGET_POSITION = new Vector3(0f, -460f, 30f); + + private readonly int WIDGET_OFFSET_BOTTOM = 71; + + private readonly int WIDGET_OFFSET_TOP = 171; + + protected override Vector3 MessagePosition => UIManager.GetInstance().getCamera().ScreenToWorldPoint(new Vector3((float)Screen.width * ScreenWidthFraction, (float)Screen.height * ScreenHeightFraction, 0f)); + + public Player3dClassCharacter(int classId) + { + _classCharacterId = classId; + IsPlayer = true; + } + + public void SetClassId(int id) + { + _classCharacterId = id; + } + + protected override string GetTagName() + { + return "Player"; + } + + protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) + { + return originalRotation; + } + + protected override Vector3 GetPosition() + { + return Global.CLASS_BATTLE_POSITION_PLAYER; + } + + protected override void SetUpAnchor(GameObject o) + { + o.transform.localPosition = WIDGET_POSITION; + UIWidget uIWidget = o.AddComponent(); + uIWidget.bottomAnchor.relative = 0f; + uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; + Transform transform = BattleManagerBase.GetIns().Battle3DContainer.transform; + uIWidget.bottomAnchor.target = transform; + uIWidget.topAnchor.target = transform; + uIWidget.topAnchor.relative = 0f; + uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; + } + + protected override void AttachOtherUI(GameObject o) + { + BattleManagerBase.GetIns().BattlePlayer.BattleView.EpPanel.transform.parent = o.transform; + } + + public override Vector3 GetMaskImagePosition() + { + return new Vector3(0f, 0.12f, 0f); + } + + protected override Vector3 GetShieldPosition() + { + return new Vector3(2f, 1.7f, 0f); + } + + protected override Vector3 GetLifeIconPosition() + { + return new Vector3(0f, 0f, 0.1f); + } + + public override Quaternion GetMaskImageRotation() + { + return Quaternion.identity; + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/PlayerSpineClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/PlayerSpineClassCharacter.cs new file mode 100644 index 0000000..510092b --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/PlayerSpineClassCharacter.cs @@ -0,0 +1,123 @@ +using UnityEngine; + +namespace Wizard.Battle.Player.ClassCharacter; + +internal class PlayerSpineClassCharacter : SpineClassCharacter +{ + protected readonly Vector3 WIDGET_POSITION = new Vector3(0f, -460f, 30f); + + protected readonly int WIDGET_OFFSET_BOTTOM = 71; + + protected readonly int WIDGET_OFFSET_TOP = 171; + + protected readonly Vector3 PP_PANEL_POSITION = new Vector3(0f, -34.22f, -29.25f); + + protected override Vector3 MessagePosition => UIManager.GetInstance().getCamera().ScreenToWorldPoint(new Vector3((float)Screen.width * ScreenWidthFraction, (float)Screen.height * ScreenHeightFraction, 0f)); + + protected override string GetTagName() + { + return "Player"; + } + + protected override void SetUpAnchor(GameObject o) + { + o.transform.localPosition = WIDGET_POSITION; + UIWidget uIWidget = o.AddComponent(); + uIWidget.bottomAnchor.relative = 0f; + uIWidget.bottomAnchor.absolute = WIDGET_OFFSET_BOTTOM; + Transform transform = BattleManagerBase.GetIns().Battle3DContainer.transform; + uIWidget.bottomAnchor.target = transform; + uIWidget.topAnchor.target = transform; + uIWidget.topAnchor.relative = 0f; + uIWidget.topAnchor.absolute = WIDGET_OFFSET_TOP; + } + + protected override void AttachOtherUI(GameObject o) + { + BattleManagerBase.GetIns().BattlePlayer.BattleView.EpPanel.transform.parent = o.transform; + } + + public override void PlayMotion(ClassCharaPrm.MotionType motionType) + { + base.PlayMotion(motionType); + if (_isNoEvolveShift && motionType == ClassCharaPrm.MotionType.extra) + { + BattleCoroutine.GetInstance().StartCoroutine(WaitReturnOnAnimation()); + } + } + + public override Vector3 GetSpinePosition() + { + return new Vector3(0f, -0.02f, -0.17f); + } + + protected override string GetTextureName() + { + return "mt_Encampment_Chara_1"; + } + + public override Vector3 GetMaskImagePosition() + { + return new Vector3(0f, 0.12f, 0f); + } + + protected override Vector3 GetShieldPosition() + { + return new Vector3(2f, 1.7f, 0f); + } + + protected override Vector3 GetLifeIconPosition() + { + return new Vector3(0f, 0f, 0.1f); + } + + public override Quaternion GetMaskImageRotation() + { + return Quaternion.identity; + } + + public override Vector3 ConvertSpineScale(Vector3 originalScale) + { + return originalScale * 1.003125f; + } + + public override int GetSpineSortingOrder(bool isBack = false) + { + return -2; + } + + public override int GetMaskSortingOrder(bool isBack = false) + { + return -2; + } + + protected override int GetEmoteLabelDepth() + { + return 42; + } + + protected override int GetCharaId() + { + return GameMgr.GetIns().GetDataMgr().GetPlayerCharaId(); + } + + public override int GetSkinId() + { + return GameMgr.GetIns().GetDataMgr().GetPlayerSkinId(); + } + + public override int GetStencil() + { + return 3; + } + + protected override Vector3 GetPosition() + { + return Global.CLASS_BATTLE_POSITION_PLAYER; + } + + protected override Quaternion ConvertBackPanelRotation(Quaternion originalRotation) + { + return originalRotation; + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SkinEffectVfx.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SkinEffectVfx.cs new file mode 100644 index 0000000..55681d4 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SkinEffectVfx.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using Wizard.Battle.View.Vfx; + +namespace Wizard.Battle.Player.ClassCharacter; + +public class SkinEffectVfx : VfxBase, IEffectVfx +{ + private Func _getLoadedEffectObject; + + protected EffectBattle _effectObject; + + private Transform _targetTransform; + + private int _order = -1; + + private bool _isEvolve = true; + + public bool IsEffectEnd { get; private set; } + + public SkinEffectVfx(Func getLoadedEffectObject, Transform baseTransform, int order = -1, bool isEvolve = true) + { + if (BattleManagerBase.GetIns() == null || !BattleManagerBase.GetIns().IsRecovery) + { + _targetTransform = baseTransform; + _getLoadedEffectObject = getLoadedEffectObject; + _order = order; + _isEvolve = isEvolve; + } + } + + public static void SetLayerAndOrder(GameObject gameObject, int layerNo, int order, bool needSetChildren = true) + { + if (gameObject == null) + { + return; + } + gameObject.layer = layerNo; + ParticleSystemRenderer component = gameObject.GetComponent(); + if (component != null) + { + component.sortingOrder = order; + } + if (!needSetChildren) + { + return; + } + foreach (Transform item in gameObject.transform) + { + SetLayerAndOrder(item.gameObject, layerNo, order, needSetChildren); + } + } + + public override void Play() + { + if (BattleManagerBase.GetIns() != null && BattleManagerBase.GetIns().IsRecovery) + { + return; + } + base.Play(); + _effectObject = _getLoadedEffectObject(); + if (!(_effectObject == null)) + { + _effectObject.GetComponent(); + SetLayerAndOrder(_effectObject.gameObject, _isEvolve ? 13 : 15, _order); + if (!_isEvolve) + { + SetMaskSetting(_effectObject.transform); + } + _effectObject.gameObject.SetActive(value: true); + IsEffectEnd = false; + IsEnd = true; + } + } + + private void SetMaskSetting(Transform effectObject) + { + foreach (Transform item in effectObject) + { + ParticleSystemRenderer component = item.GetComponent(); + if (component != null) + { + component.maskInteraction = SpriteMaskInteraction.VisibleInsideMask; + } + SetMaskSetting(item); + } + } + + public void UpdateEffect() + { + if (_effectObject == null) + { + IsEffectEnd = true; + } + else + { + RemoveCheck(); + } + } + + public void RemoveCheck() + { + if (CheckEffectEnd(_effectObject)) + { + DestroyEffect(); + } + } + + public void DestroyEffect() + { + UnityEngine.Object.Destroy(_effectObject.gameObject); + IsEffectEnd = true; + } + + public override void Update(float dt, List effectVfxList) + { + base.Update(dt, effectVfxList); + if (IsEnd) + { + VfxMgr.CheckAndAddEffectVfxList(this, effectVfxList); + } + } + + private bool CheckEffectEnd(EffectBattle effect) + { + if (effect.AnimationObj != null) + { + if (effect.AnimationObj.isPlaying) + { + return false; + } + effect.AnimationObj.gameObject.SetActive(value: false); + } + foreach (Transform item in effect.transform) + { + ParticleSystem component = item.GetComponent(); + if (component != null && component.IsAlive()) + { + return false; + } + } + return true; + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SpineClassCharacter.cs b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SpineClassCharacter.cs new file mode 100644 index 0000000..91df2fc --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard.Battle.Player.ClassCharacter/SpineClassCharacter.cs @@ -0,0 +1,234 @@ +using System.Collections; +using Cute; +using UnityEngine; +using Wizard.Battle.View.Vfx; + +namespace Wizard.Battle.Player.ClassCharacter; + +public abstract class SpineClassCharacter : ClassCharacterBase +{ + protected readonly float ScreenWidthFraction = 0.5f; + + protected readonly float ScreenHeightFraction = 0.05f; + + protected bool _isNoEvolveShift; + + protected bool _isOpponentReverse; + + private SpineObject _spine; + + private ClassCharaPrm.MotionType _currentMotion = ClassCharaPrm.MotionType.idle; + + private bool IsSnCollabSkin => Global.IsSnCollabSkin(GetCharaId()); + + public SpineClassCharacter() + { + } + + public override VfxBase CreateLoadResouceVfx() + { + return InstantVfx.Create(delegate + { + ClassCharacterMasterData charaPrmByCharaId = GameMgr.GetIns().GetDataMgr().GetCharaPrmByCharaId(GetCharaId()); + GameObject gobj = new ClassCardCreator(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(charaPrmByCharaId.path, ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true))).LoadRootObject(); + _isNoEvolveShift = charaPrmByCharaId.IsNoEvolveShift; + _isOpponentReverse = this is EnemySpineClassCharacter && charaPrmByCharaId.IsOpponentReverse; + GameObject gameObject = NGUITools.AddChild(BattleManagerBase.GetIns().Battle3DContainer); + gameObject.name = "ClassCharacterRoot"; + GameObject gameObject2 = GameMgr.GetIns().GetPrefabMgr().CloneObjectToParent(gobj, gameObject); + SetUpAnchor(gameObject); + AttachOtherUI(gameObject); + GameObject gameObject3 = gameObject2.transform.Find("ClassObj").gameObject; + GameObject gameObject4 = gameObject2.transform.Find("Collider").gameObject; + base.GameObject = gameObject2; + base.GameObject.tag = GetTagName(); + base.GameObject.transform.localPosition = GetPosition(); + _initPosition = base.GameObject.transform.position; + gameObject3.transform.localScale = Global.CLASS_BATTLE_SCALE; + gameObject3.tag = GetTagName(); + gameObject4.tag = GetTagName(); + Transform transform = gameObject3.transform.Find("Class"); + string path = (IsSnCollabSkin ? "md_Encampment_sn_Base" : "md_Encampment_Base"); + transform.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true)); + MotionUtils.SetLayerAll(transform.gameObject, 15); + Transform child = transform.transform.GetChild(0); + string path2 = (IsSnCollabSkin ? "md_Encampment_sn_Outside" : "md_Encampment_outside"); + child.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(path2, ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true)); + MotionUtils.SetLayerAll(child.gameObject, 10); + CardTemplate cardTemplate = gameObject2.AddComponent(); + cardTemplate.CardWrapObjTemp = gameObject3; + cardTemplate.Collider = gameObject4.GetComponent(); + Transform transform2 = transform.transform; + transform2.localRotation = ConvertBackPanelRotation(transform2.localRotation); + GameObject gameObject5 = gameObject3.transform.Find("Shield").gameObject; + gameObject5.GetComponent().sharedMesh = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true)); + gameObject5.GetComponent().sharedMaterial = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMaterial, isfetch: true)); + gameObject5.GetComponent().sharedMaterial.mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("tx_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaTexture, isfetch: true)); + gameObject5.transform.localPosition = GetShieldPosition(); + gameObject5.transform.localScale = new Vector3(1.5f, 1.5f, 1f); + GameMgr.GetIns().GetEffectMgr().SetParticleShader(gameObject5); + MeshRenderer component = transform.GetComponent(); + MeshRenderer component2 = child.GetComponent(); + string path3 = (IsSnCollabSkin ? "mt_Encampment_sn_Frame" : "mt_Encampment_Frame"); + Material material = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(path3, ResourcesManager.AssetLoadPathType.ClassCharaMaterial, isfetch: true)) as Material; + if (material != null) + { + string path4 = (IsSnCollabSkin ? "tx_Encampment_sn_Frame" : "tx_Encampment_Frame"); + material.mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(path4, ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture, isfetch: true)); + } + Material material2 = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(GetTextureName(), ResourcesManager.AssetLoadPathType.ClassCharaMaterial, isfetch: true)); + material2.mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(((int)charaPrmByCharaId.ClassColorId).ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaEncampment, isfetch: true)); + CardCreatorBase.SetupClassMaterialToCenterCharacterMesh(component, component2, material2, material); + gameObject5.SetActive(value: true); + SBattleLoad sBattleLoad = BattleManagerBase.GetIns().SBattleLoad; + GameObject gameObject6 = GameMgr.GetIns().GetPrefabMgr().CloneObjectToParent(Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("cmn_frame_class_1", ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)), BattleManagerBase.GetIns().Battle3DContainer); + GameMgr.GetIns().GetEffectMgr().SetUIParticleShader(gameObject6, null, isBattle: true, isField: true); + gameObject6.transform.parent = gameObject3.transform; + gameObject6.transform.localPosition = new Vector3(0f, 0.1f, 0.15f); + gameObject6.transform.localRotation = GetMaskImageRotation(); + gameObject6.transform.localScale = new Vector3(6.4f, 6.4f, 20.48f); + gameObject6.SetActive(value: false); + cardTemplate.FrameEffectNormal = gameObject6; + GameObject gameObject7 = GameMgr.GetIns().GetPrefabMgr().CloneObjectToParent(sBattleLoad.LifePoolIcon, BattleManagerBase.GetIns().Battle3DContainer); + gameObject7.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); + gameObject7.transform.parent = gameObject5.transform; + gameObject7.transform.localPosition = GetLifeIconPosition(); + gameObject3.transform.localScale = new Vector3(80f, 80f, 25f); + gameObject4.transform.localScale = new Vector3(80f, 80f, 25f); + CardParameter cardParameterFromId = CardMaster.GetInstanceForBattle().GetCardParameterFromId(0); + (cardTemplate.LifeLabelTemp = gameObject7.transform.Find("LifeLabel").GetComponent()).text = cardParameterFromId.Life.ToString(); + _spine = new SpineObject(); + _spine.LoadAndSet(GetSkinId().ToString(), this, gameObject3.transform); + GameMgr.GetIns().GetPrefabMgr().Load("UI/Battle/EmotionMessage"); + _emotionLabel = NGUITools.AddChild(BattleManagerBase.GetIns().BtlUIContainer, GameMgr.GetIns().GetPrefabMgr().Get("UI/Battle/EmotionMessage")); + _emotionLabel.transform.Find("Scale").GetComponent().depth = GetEmoteLabelDepth(); + _emotionLabel.SetActive(value: false); + GameMgr.GetIns().GetPrefabMgr().Load("UI/Battle/EnvironmentMessage"); + _enviromentLabel = NGUITools.AddChild(BattleManagerBase.GetIns().BtlUIContainer, GameMgr.GetIns().GetPrefabMgr().Get("UI/Battle/EnvironmentMessage")); + _enviromentLabel.SetActive(value: false); + base.GameObject.SetActive(value: false); + }); + } + + public override void ClearResourceObject() + { + if (_spine != null) + { + _spine.Clear(); + } + } + + public override void PlayMotion(ClassCharaPrm.MotionType motionType) + { + if (!BattleManagerBase.GetIns().IsRecovery) + { + _currentMotion = motionType; + if (_isAnimation && !(_spine._animator == null)) + { + _spine._animator.SetTrigger(motionType.ToString()); + BattleCoroutine.GetInstance().StartCoroutine(WaitMotionEnd()); + } + } + } + + public override void ResetMotion() + { + _currentMotion = ClassCharaPrm.MotionType.idle; + _spine._animator.Play(ClassCharaPrm.MotionType.idle.ToString(), 0, 0f); + _spine.WaitChangeFace(ClassCharaPrm.FaceType.skin_01.ToString()); + } + + public override void SetTrigger(string str) + { + _spine._animator.SetTrigger(str); + } + + public override ClassCharaPrm.MotionType GetMotion() + { + return _currentMotion; + } + + public override void OutFrame() + { + if (_isAnimation) + { + _spine.OutFrame(isHighRank: false); + } + } + + public override void ChangeFace(ClassCharaPrm.FaceType faceType) + { + if (BattleManagerBase.GetIns() != null && !BattleManagerBase.GetIns().IsRecovery && _isAnimation && !(_spine._skeletonMecanim == null)) + { + BattleCoroutine.GetInstance().StartCoroutine(WaitChangeFace(faceType)); + } + } + + public override IEnumerator WaitChangeFace(ClassCharaPrm.FaceType faceType) + { + yield return null; + string faceStr = faceType.ToString(); + _spine.WaitChangeFace(faceStr); + } + + public override void SetAnimationEnable(bool enable) + { + bool isAnimation = _isAnimation; + _isAnimation = enable; + _spine.SetAnimationEnable(_isAnimation, isAnimation); + } + + public override bool IsAnimationEnable() + { + return _isAnimation; + } + + public override IEnumerator WaitMotionEnd() + { + yield return null; + float num = ((!GetCurrentClipIsName(ClassCharaPrm.MotionType.idle)) ? _spine._animator.GetCurrentAnimatorStateInfo(0).length : (_spine._animator.GetCurrentAnimatorStateInfo(0).length * 0.5f)); + num -= Time.deltaTime * 2f; + yield return new WaitForSeconds(num); + ChangeFace(ClassCharaPrm.FaceType.skin_01); + } + + public IEnumerator WaitReturnOnAnimation() + { + float seconds = (float)((Toolbox.QualityManager.GetFrameRate() == 60) ? 85 : 86) / 30f; + yield return new WaitForSeconds(seconds); + _spine.SetDefaultLayer(isHighRank: false); + } + + protected override IEnumerator WaitReturnFrame() + { + yield return _spine.WaitReturnFrame(GetSpinePosition(), isHighRank: false); + } + + public override float GetCurrentClipTime() + { + if (_spine._animator == null) + { + return 0f; + } + return _spine._animator.GetCurrentAnimatorStateInfo(0).length; + } + + public override bool GetCurrentClipIsName(ClassCharaPrm.MotionType motionType) + { + if (_spine._animator == null) + { + return false; + } + return _spine._animator.GetCurrentAnimatorStateInfo(0).IsName(motionType.ToString()); + } + + public override bool IsNoEvolveShift() + { + return _isNoEvolveShift; + } + + public override bool IsOpponentReverse() + { + return _isOpponentReverse; + } +} diff --git a/SVSim.BattleEngine/Shim/Generated/CardTouchProcessorBase.g.cs b/SVSim.BattleEngine/Shim/Generated/CardTouchProcessorBase.g.cs new file mode 100644 index 0000000..55400da --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/CardTouchProcessorBase.g.cs @@ -0,0 +1,28 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.Touch\CardTouchProcessorBase.cs +using System; +using System.Collections.Generic; +using System.Linq; +using Cute; +using UnityEngine; +using Wizard.Battle.View.Vfx; +namespace Wizard.Battle.Touch +{ +public partial class CardTouchProcessorBase +{ + protected readonly BattleManagerBase _battleMgr; + protected readonly BattlePlayer _battlePlayer; + protected readonly BattleCardBase _firstTouchCard; + protected IEnumerable _targetCards; + protected GameObject _lastFocusedObject; + protected BattleCardBase _lastFocusedCard; + protected InputMgr _inputMgr; + public CardTouchProcessorBase(BattleManagerBase battleMgr, BattleCardBase touchCard, InputMgr inputMgr) { } + public virtual VfxBase Start() => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + public virtual VfxBase Update(float dt, Camera camera) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + public virtual VfxWith End() => default!; + private BattleCardBase GetBattleCardFromObject(GameObject cardObject) => default!; + public virtual bool CheckIsEnd() => default!; + protected virtual void SetupTouchProcessorEvents() { } + protected VfxBase CreateOpenCardDetailVfx(BattleCardBase targetCard, bool isPlayer) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/DamageVfxBase.g.cs b/SVSim.BattleEngine/Shim/Generated/DamageVfxBase.g.cs new file mode 100644 index 0000000..926b68c --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/DamageVfxBase.g.cs @@ -0,0 +1,33 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\DamageVfxBase.cs +using System; +using System.Collections; +using System.Collections.Generic; +using Cute; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class DamageVfxBase +{ + private const float DAMAGE_ANIMATION_LENGTH = 2.5f; + private const float DAMAGE_TEXT_MARGIN = 0.26f; + private const int DAMAGE_MAX_VALUE = 9999; + private const int TEXTURE_SHEET_MAX = 16; + private const float PLAYER_CLASS_DAMAGE_EFFECT_POSITION = 0.4f; + private const float ENEMY_CLASS_DAMAGE_EFFECT_POSITION = 0.3f; + protected BattleManagerBase _battleMgr; + protected readonly IBattleCardView _targetCardView; + private GameObject _numberObject; + private GameObject _damageEffect; + private bool IsLoadEnd; + protected virtual Vector3 StartPosition { get; set; } + protected string _effectName { get; set; } + public bool IsEffectEnd { get; set; } + protected DamageVfxBase(IBattleCardView targetCardView) { } + protected IEnumerator StartShowValue(int value) => default!; + protected virtual void HideValue() { } + protected virtual void SetupNumberAnimation(int value) { } + public void UpdateEffect() { } + public void RemoveCheck() { } + public void DestroyEffect() { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/DefaultOpeningVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/DefaultOpeningVfx.g.cs index 7fc2c4e..de96fd9 100644 --- a/SVSim.BattleEngine/Shim/Generated/DefaultOpeningVfx.g.cs +++ b/SVSim.BattleEngine/Shim/Generated/DefaultOpeningVfx.g.cs @@ -4,6 +4,6 @@ namespace Wizard.Battle.View.Vfx public partial class DefaultOpeningVfx { public DefaultOpeningVfx(BackGroundBase backGround) { } - public void RegisterOpeningVfx(ClassBattleCardBase playerClass, ClassBattleCardBase enemyClass) { } + public override void RegisterOpeningVfx(ClassBattleCardBase playerClass, ClassBattleCardBase enemyClass) { } } } diff --git a/SVSim.BattleEngine/Shim/Generated/ForecastIconVfxBase.g.cs b/SVSim.BattleEngine/Shim/Generated/ForecastIconVfxBase.g.cs new file mode 100644 index 0000000..6454e8b --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/ForecastIconVfxBase.g.cs @@ -0,0 +1,15 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\ForecastIconVfxBase.cs +using UnityEngine; +using Wizard.Battle.Resource; +namespace Wizard.Battle.View.Vfx +{ +public partial class ForecastIconVfxBase +{ + protected readonly IBattleCardView _view; + public const float OFFSET_Z = -0.1f; + protected string FORECAST_ICON_NAME { get; set; } + protected string ResourcePath { get; set; } + protected ForecastIconVfxBase(IBattleCardView view, IBattleResourceMgr resourceMgr) { } + protected virtual void Setup(GameObject iconObject) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/OpenCardVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/OpenCardVfx.g.cs new file mode 100644 index 0000000..3dcfa6b --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/OpenCardVfx.g.cs @@ -0,0 +1,25 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\OpenCardVfx.cs +using System.Collections; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class OpenCardVfx +{ + public const float CARD_MOVE_TIME = 0.4f; + protected const float CARD_TURN_TIME = 0.39f; + protected static readonly Vector3 CARD_TRANSFORM_POSITION; + protected BattleManagerBase _battleManager; + protected IBattleCardView _cardView; + protected Vector3 _position; + protected bool _isLegend; + protected void Init(IBattleCardView cardView, Vector3 pos, bool isLegend) { } + protected virtual VfxBase PrepareMoveCard(GameObject cardHolder) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + protected VfxBase MoveCard() => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + protected VfxBase MoveCardCenter() => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + protected virtual void PlayCardOpenEffect() { } + protected void cardOpenSoundLg() { } + protected void cardOpenSound() { } + protected void cardDrawSound() { } + public static void RotateToAndShowCardName(IBattleCardView cardView, Hashtable iTweenHash) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/OpponentMulliganDrawCardVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/OpponentMulliganDrawCardVfx.g.cs new file mode 100644 index 0000000..4bdf3b7 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/OpponentMulliganDrawCardVfx.g.cs @@ -0,0 +1,17 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\OpponentMulliganDrawCardVfx.cs +using System.Collections.Generic; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class OpponentMulliganDrawCardVfx +{ + private const float CARD_SORT_OFFSET = 220f; + private const float FIRST_CARD_POSITION_X = 180f; + private const float CARD_POSITION_Y = 500f; + private const float CARD_POSITION_Z = -50f; + private static readonly Vector3 CARD_ROTATION; + public OpponentMulliganDrawCardVfx(IEnumerable drawCards) { } + private void CardDrawPrepare(IEnumerable drawCards) { } + private VfxBase MoveSpinVfx(IEnumerable drawCards) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/Page.g.cs b/SVSim.BattleEngine/Shim/Generated/Page.g.cs new file mode 100644 index 0000000..6ca67df --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/Page.g.cs @@ -0,0 +1,15 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.UI.Profile\Page.cs +using UnityEngine; +namespace Wizard.UI.Profile +{ +public partial class Page +{ + public delegate void DelegatePage(bool isAnimate, int beforeClassId, int afterClassId); + private DelegatePage _onChangeActive; + private DelegatePage _onChangeInactive; + private DelegatePage _onExecuteSetActive; + private bool _isActive; + protected void SetCallback(DelegatePage onChangeActive, DelegatePage onChangeInactive, DelegatePage onExecuteSetActive) { } + public void SetActive(bool isActive, bool isAnimate, int beforeClassId, int afterClassId) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/PlayEffectVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/PlayEffectVfx.g.cs new file mode 100644 index 0000000..5a785df --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/PlayEffectVfx.g.cs @@ -0,0 +1,29 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\PlayEffectVfx.cs +using System; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class PlayEffectVfx +{ + private Func _getLoadedEffectObject; + private Func _getPosition; + protected GameObject _effectObject; + private Effect _effect; + private Transform _targetTransform; + private int _layer; + public bool IsEffectEnd { get; set; } + public bool IsFollow { get; set; } + public bool IsFollowPosition { get; set; } + public bool IsFollowAll { get; set; } + public Func GetLoadedGameObject { get; set; } + public PlayEffectVfx(Func getLoadedEffectObject, Transform baseTransform, bool isFollow = false, bool isFollowPosition = false, bool isFollowAll = false) { } + public PlayEffectVfx(Func getLoadedEffectObject, Vector3 position, bool isFollow = false, bool isFollowPosition = false) { } + public PlayEffectVfx(Func getLoadedEffectObject, Func getPosition, bool isFollow = false, bool isFollowPosition = false, int layer = -1) { } + private void Setup(Func getLoadedEffectObject, Func getPosition) { } + public void Play() { } + public void UpdateEffect() { } + public void RemoveCheck() { } + public void FollowTarget() { } + public void DestroyEffect() { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs b/SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs new file mode 100644 index 0000000..399e49d --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs @@ -0,0 +1,10 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult\ProcessingBase.cs +namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult +{ +public partial class ProcessingBase +{ + public IProcessing NextProcessing { get; set; } + public void Execute(Parameter param) { } + protected void ExecuteNextProcessing(Parameter param) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/SpreadOutVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/SpreadOutVfx.g.cs new file mode 100644 index 0000000..9e0dea4 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/SpreadOutVfx.g.cs @@ -0,0 +1,28 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\SpreadOutVfx.cs +using System.Collections.Generic; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class SpreadOutVfx +{ + public partial class SortTransform { } + protected const float Z_SPAWN_OFFSET = 5f; + protected const float CARD_SORT_TIME = 0.2f; + protected const float CARD_WAIT_SORT_TIME = 0.15f; + protected const float BW_MAX = 700f; + protected const float C_BASE_X = 200f; + protected const float TOKEN_SPAWN_TIME = 0.2f; + protected const float FRAME_SPARK_TIME = 0.1f; + protected const float SPECIAL_TOKEN_FRAME_SPARK_TIME = 0.8f; + protected const float EFFECT_ALPHA_CARD_MAX = 30f; + protected const float EFFECT_ALPHA_RATE = 0.8f; + protected const float EFFECT_ALPHA_OFFSET = 0.3f; + protected bool _isVisible; + protected float GetRotationY { get; set; } + protected virtual bool IsPlaySparkEffect { get; set; } + protected VfxBase CreateSpreadOutVfx(List drawList, bool isSpecialTokenDraw = false) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); + protected Vector3 GetSortPosition(List drawList, int i, int cNum) => default!; + protected Vector3 GetSortRotation(List drawList, int i, int cNum) => default!; + protected List GetSortTransforms(List drawList) => default!; +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/StartPickCardVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/StartPickCardVfx.g.cs new file mode 100644 index 0000000..641e1ee --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/StartPickCardVfx.g.cs @@ -0,0 +1,14 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\StartPickCardVfx.cs +using System.Collections; +namespace Wizard.Battle.View.Vfx +{ +public partial class StartPickCardVfx +{ + public partial class WaitUntilCardIsQueuedToBePlayedVfx { } + protected readonly BattleCardBase _card; + protected readonly IBattleCardView _cardView; + protected readonly WaitUntilCardIsQueuedToBePlayedVfx waitUntilCardIsInPlayQueueVfx; + public StartPickCardVfx(IBattleCardView cardView, BattleCardBase card) { } + public VfxBase Cancel() => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/WaitLoadEffectVfx.g.cs b/SVSim.BattleEngine/Shim/Generated/WaitLoadEffectVfx.g.cs new file mode 100644 index 0000000..142ad9f --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/WaitLoadEffectVfx.g.cs @@ -0,0 +1,14 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.View.Vfx\WaitLoadEffectVfx.cs +using System; +using System.Collections.Generic; +using Cute; +using UnityEngine; +namespace Wizard.Battle.View.Vfx +{ +public partial class WaitLoadEffectVfx +{ + public int NowStep { get; set; } + public string FileName { get; set; } + public WaitLoadEffectVfx(string fileName, Action setEffectObject) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs new file mode 100644 index 0000000..d20ac69 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs @@ -0,0 +1,168 @@ +// AUTO-GENERATED (m1_baseclauses) — re-establish dropped base clauses for net-new stubs. +// Members live in the sibling .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.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.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.BattleResult { public partial class DeckSelectionDialogDisplay : ProcessingBase { } } +namespace Wizard.Battle.View.Vfx { public partial class DeckSelfSummonVfx : SequentialVfxPlayer { } } +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.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 : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { 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.UI { public partial class ElfInfomationUI : ClassInfomationUIBase { } } +namespace Wizard.Battle.Touch { public partial class EmotionHideMessageVfx : global::Wizard.Battle.View.Vfx.SequentialVfxPlayer { } } +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.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 { 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.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.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.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 { 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 NullVfxWithLoading : VfxWithLoading { } } +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 { 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.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.Battle.UI { public partial class ReplayMoveTurnWindow : MonoBehaviour { } } +namespace Wizard.Battle.View.Vfx { public partial class ReturnCardVfx : SequentialVfxPlayer { } } +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 SkillEvolveVfx : EvolveVfxBase { } } +namespace Wizard.Battle.View.Vfx { public partial class SkillSelectHandCardsVfx : SequentialVfxPlayer { } } +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 : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SubChapterSelectionDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SummaryDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.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.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 TurnStartEvolveVfx : SequentialVfxPlayer { } } +namespace Wizard.Battle.Tutorial { public partial class TutorialBattleMgrBase : BattleManagerBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class TutorialStoryStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +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 { } }