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:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user