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 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-05 22:24:22 -04:00
parent d01e3da869
commit 2ddc86943e
21 changed files with 1339 additions and 1 deletions

View File

@@ -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
1 # engine-relpath source-relpath sha256 patched(0|1)
1548 Wizard.Battle.Phase\SingleMulliganPhase.cs Wizard.Battle.Phase\SingleMulliganPhase.cs 949ba3c58a0cb59f6ed337a46c3b949a60387390c0b310f545465dc09e7d6e48 0
1549 Wizard.Battle.Player.ClassCharacter\Class3dCharacterBase.cs Wizard.Battle.Player.ClassCharacter\Class3dCharacterBase.cs e30cc0fc68c1164411d0420f753d2597c166db94670eb8959bbfca401d7088ca 0
1550 Wizard.Battle.Player.ClassCharacter\ClassCharacterBase.cs Wizard.Battle.Player.ClassCharacter\ClassCharacterBase.cs 76c74e23c52d36176339dfb50f6885660ef587601b80cc2a882682bf0332429c 0
1551 Wizard.Battle.Player.ClassCharacter\Enemy3dClassCharacter.cs Wizard.Battle.Player.ClassCharacter\Enemy3dClassCharacter.cs 008552369d7cb9b211b2e716720426c08d90bce73cadccd3f7aed604073a38ab 0
1552 Wizard.Battle.Player.ClassCharacter\EnemyHighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\EnemyHighRankSpineClassCharacter.cs 80b845a7d684ad11650a7f0d1e53cf58a7a77a3e2e67cabee57bcc13f9ffdeda 0
1553 Wizard.Battle.Player.ClassCharacter\EnemySpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\EnemySpineClassCharacter.cs 29d31783eae046241a610d19915e376c22fed76935ff2077035dd22350e3ee4d 0
1554 Wizard.Battle.Player.ClassCharacter\HighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\HighRankSpineClassCharacter.cs 17f31270da67508f21987a11ad6978745cade12c9dec53249b6a508a58a2e773 0
1555 Wizard.Battle.Player.ClassCharacter\IClassCharacter.cs Wizard.Battle.Player.ClassCharacter\IClassCharacter.cs c1a985539e3b304260d87f4af6ec249d939dc0385e7cd902634296c4127d991f 0
1556 Wizard.Battle.Player.ClassCharacter\Player3dClassCharacter.cs Wizard.Battle.Player.ClassCharacter\Player3dClassCharacter.cs 51fd37fe40a0b1a2227d3108c993f5b508290624825be65a3055e09729877860 0
1557 Wizard.Battle.Player.ClassCharacter\PlayerClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerClassCharacter.cs 79c4a5b7b34b79abf748ba421fcba213eecc04c789ee5ea8e5903abea2c05fa2 0
1558 Wizard.Battle.Player.ClassCharacter\PlayerHighRankSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerHighRankSpineClassCharacter.cs fd0ac732efff8feee43aabf86cfc089e93f874ad8e4a40e60e538cf092b4e821 0
1559 Wizard.Battle.Player.ClassCharacter\PlayerSpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\PlayerSpineClassCharacter.cs dada07b44ca77565d464f8b06c2e6e50bd5bbf46308c0b25042551cc2dfe5b30 0
1560 Wizard.Battle.Player.ClassCharacter\SkinEffectVfx.cs Wizard.Battle.Player.ClassCharacter\SkinEffectVfx.cs 615c275919ee29473983b6a5386e64ebfb2bff959d9231863f8b72506da5756e 0
1561 Wizard.Battle.Player.ClassCharacter\SpineClassCharacter.cs Wizard.Battle.Player.ClassCharacter\SpineClassCharacter.cs fa478f3dc08ddf42951add4bc12ce65f6588d8974ac1941bd2ef88beb564fb55 0
1562 Wizard.Battle.Player.ClassCharacter\SpineObject.cs Wizard.Battle.Player.ClassCharacter\SpineObject.cs bd325662311d523dc9948557b3ddf899ed5a72fe18430f69e307360f7fa6758f 0
1563 Wizard.Battle.Player.Emotion\Debug722006NullVfx.cs Wizard.Battle.Player.Emotion\Debug722006NullVfx.cs 65801eb05b7c9ee4c6514faa6d67f2d632ee95a47a74836a2f34072fe19a30db 0
1564 Wizard.Battle.Player.Emotion\EmotionBase.cs Wizard.Battle.Player.Emotion\EmotionBase.cs 8a8edb24dbf845b07acf74e70658335d8fe23f67105e1e70e814153b836d4fad 0

View File

@@ -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<BoxCollider>().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>();
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);
}
}
}

View File

@@ -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<BoxCollider>().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>();
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);
}
}

View File

@@ -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<BoxCollider>().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>();
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);
}
}

View File

@@ -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>();
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;
}
}

View File

@@ -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>();
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;
}
}

View File

@@ -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<EffectBattle> _getLoadedEffectObject;
protected EffectBattle _effectObject;
private Transform _targetTransform;
private int _order = -1;
private bool _isEvolve = true;
public bool IsEffectEnd { get; private set; }
public SkinEffectVfx(Func<EffectBattle> 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<ParticleSystemRenderer>();
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<ParticleSystemRenderer>();
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<ParticleSystemRenderer>();
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<IEffectVfx> 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<ParticleSystem>();
if (component != null && component.IsAlive())
{
return false;
}
}
return true;
}
}

View File

@@ -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<GameObject>(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<MeshFilter>().sharedMesh = Toolbox.ResourcesManager.LoadObject<Mesh>(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<MeshFilter>().sharedMesh = Toolbox.ResourcesManager.LoadObject<Mesh>(Toolbox.ResourcesManager.GetAssetTypePath(path2, ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true));
MotionUtils.SetLayerAll(child.gameObject, 10);
CardTemplate cardTemplate = gameObject2.AddComponent<CardTemplate>();
cardTemplate.CardWrapObjTemp = gameObject3;
cardTemplate.Collider = gameObject4.GetComponent<BoxCollider>();
Transform transform2 = transform.transform;
transform2.localRotation = ConvertBackPanelRotation(transform2.localRotation);
GameObject gameObject5 = gameObject3.transform.Find("Shield").gameObject;
gameObject5.GetComponent<MeshFilter>().sharedMesh = Toolbox.ResourcesManager.LoadObject<Mesh>(Toolbox.ResourcesManager.GetAssetTypePath("md_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMesh, isfetch: true));
gameObject5.GetComponent<MeshRenderer>().sharedMaterial = Toolbox.ResourcesManager.LoadObject<Material>(Toolbox.ResourcesManager.GetAssetTypePath("mt_Encampment_Shield", ResourcesManager.AssetLoadPathType.ClassCharaMaterial, isfetch: true));
gameObject5.GetComponent<MeshRenderer>().sharedMaterial.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(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>();
MeshRenderer component2 = child.GetComponent<MeshRenderer>();
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<Texture>(Toolbox.ResourcesManager.GetAssetTypePath(path4, ResourcesManager.AssetLoadPathType.ClassCharaFrameTexture, isfetch: true));
}
Material material2 = Toolbox.ResourcesManager.LoadObject<Material>(Toolbox.ResourcesManager.GetAssetTypePath(GetTextureName(), ResourcesManager.AssetLoadPathType.ClassCharaMaterial, isfetch: true));
material2.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(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<GameObject>(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<UILabel>()).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<UIPanel>().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;
}
}

View File

@@ -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<BattleCardBase> _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<ITouchProcessor> 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();
}
}

View File

@@ -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() { }
}
}

View File

@@ -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) { }
}
}

View File

@@ -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) { }
}
}

View File

@@ -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) { }
}
}

View File

@@ -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<BattleCardBase> drawCards) { }
private void CardDrawPrepare(IEnumerable<BattleCardBase> drawCards) { }
private VfxBase MoveSpinVfx(IEnumerable<BattleCardBase> drawCards) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance();
}
}

View File

@@ -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) { }
}
}

View File

@@ -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<GameObject> _getLoadedEffectObject;
private Func<Vector3> _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<GameObject> GetLoadedGameObject { get; set; }
public PlayEffectVfx(Func<GameObject> getLoadedEffectObject, Transform baseTransform, bool isFollow = false, bool isFollowPosition = false, bool isFollowAll = false) { }
public PlayEffectVfx(Func<GameObject> getLoadedEffectObject, Vector3 position, bool isFollow = false, bool isFollowPosition = false) { }
public PlayEffectVfx(Func<GameObject> getLoadedEffectObject, Func<Vector3> getPosition, bool isFollow = false, bool isFollowPosition = false, int layer = -1) { }
private void Setup(Func<GameObject> getLoadedEffectObject, Func<Vector3> getPosition) { }
public void Play() { }
public void UpdateEffect() { }
public void RemoveCheck() { }
public void FollowTarget() { }
public void DestroyEffect() { }
}
}

View File

@@ -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) { }
}
}

View File

@@ -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<BattleCardBase> drawList, bool isSpecialTokenDraw = false) => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance();
protected Vector3 GetSortPosition(List<BattleCardBase> drawList, int i, int cNum) => default!;
protected Vector3 GetSortRotation(List<BattleCardBase> drawList, int i, int cNum) => default!;
protected List<SortTransform> GetSortTransforms(List<BattleCardBase> drawList) => default!;
}
}

View File

@@ -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();
}
}

View File

@@ -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<GameObject> setEffectObject) { }
}
}

View File

@@ -0,0 +1,168 @@
// AUTO-GENERATED (m1_baseclauses) — re-establish dropped base clauses for net-new stubs.
// 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.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 { } }