Files
SVSimServer/SVSim.BattleEngine/Engine/NullBattleCard.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

95 lines
2.5 KiB
C#

using System.Collections.Generic;
using Wizard.Battle;
using Wizard.Battle.View;
using Wizard.Battle.View.Vfx;
public class NullBattleCard : BattleCardBase
{
private static BuildInfo _dummyBuildInfo;
private static NullSkillApplyInformation _dummySkillApplyInfo;
private static BattleCardView.BuildInfo _dummyViewBuildInfo;
private static NullBattleCardView _dummyView;
public override int Index => -1;
public override List<CardBasePrm.TribeType> Tribe => CardBasePrm.DefaultType;
public override bool IsInHand => false;
public override bool IsInplay => false;
public override bool IsInDeck => false;
public override bool IsInCemetery => true;
public static void ReleaseSharedDummy()
{
_dummyBuildInfo = null;
_dummySkillApplyInfo = null;
_dummyViewBuildInfo = null;
_dummyView = null;
}
public static NullBattleCard Create()
{
if (_dummyBuildInfo == null)
{
_dummyBuildInfo = new BuildInfo(null, -1, null, null, null, null, null, _isPlayer: true, 0, NullInnerOptionsBuilder.GetInstance().CreateCardOptions(), null, null);
}
NullBattleCard nullBattleCard = new NullBattleCard(_dummyBuildInfo);
nullBattleCard.Setup(createNullView: true);
return nullBattleCard;
}
protected override void InitSkillCollection()
{
_normalSkillCollection = null;
_evolveSkillCollection = null;
}
private NullBattleCard(BuildInfo buildInfo)
: base(buildInfo)
{
}
protected override ICardVfxCreator CreateVfxCreator(bool isPlayer, IBattleCardView battleCardView, bool isNullView)
{
return NullCardVfxCreator.GetInstance();
}
public override BattleCardBase VirtualClone(BattlePlayerBase selfBattlePlayer, BattlePlayerBase opponentBattlePlayer)
{
return this;
}
protected override BattleCardView.BuildInfo CreateViewBuildInfo(BuildInfo baseBuildInfo)
{
if (_dummyViewBuildInfo == null)
{
_dummyViewBuildInfo = new BattleCardView.BuildInfo(this, null, null, null, null, null, null, null, null, null, null, null, null, null);
}
return _dummyViewBuildInfo;
}
protected override IBattleCardView CreateView(BattleCardView.BuildInfo buildInfo, bool isNullView)
{
if (_dummyView == null)
{
_dummyView = new NullBattleCardView(buildInfo);
}
return _dummyView;
}
protected override ISkillApplyInformation CreateSkillApplyInformation(BattleCardBase card, ICardVfxCreator vfxCreator)
{
if (_dummySkillApplyInfo == null)
{
_dummySkillApplyInfo = new NullSkillApplyInformation();
}
return _dummySkillApplyInfo;
}
}