feat(battle-engine): VfxWith ctor arg order + Unity conversions + ITouchProcessor reattach (1102->958)
- VfxWith<T> ctor params were swapped ((T,VfxBase) vs decomp (VfxBase,T)) -> ~38 CS1503 across SkillCollectionBase/BattleCardBase skill-processing (ProcessInfo <-> VfxBase). These are on the resolution path. Fixed to match decomp. - UnityEngine primitives: implicit Vector3/Vector2<->Vector4 + Color->Color32 conversions; Transform.Translate/Rotate(Vector3,Space) overloads (iTween). - ITouchProcessor was dropped from touch-processor stubs by base-clause recovery; re-attach via Shim/View/TouchProcessorIfaces.cs (interface-only for generated full-surface stubs, interface+no-op members for the empty hand stubs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
66
SVSim.BattleEngine/Shim/View/TouchProcessorIfaces.cs
Normal file
66
SVSim.BattleEngine/Shim/View/TouchProcessorIfaces.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
// AUTHORED SHIM (not copied). Re-attaches ITouchProcessor to the touch-processor
|
||||
// stubs. m1_baseclauses.py drops interfaces from recovered base clauses (to avoid
|
||||
// CS0535), but copied battle code converts these processors to ITouchProcessor
|
||||
// (e.g. TouchProcessorStack pushes them). Touch input is not on the headless
|
||||
// resolution path — these are compile-only ballast, so the members are no-ops.
|
||||
using UnityEngine;
|
||||
using Wizard.Battle.View.Vfx;
|
||||
|
||||
namespace Wizard.Battle.Touch
|
||||
{
|
||||
// Generated full-surface stubs already carry Start/Update/End/CheckIsEnd —
|
||||
// only the dropped interface needs re-declaring.
|
||||
public partial class CardTouchProcessorBase : ITouchProcessor { }
|
||||
public partial class ChoiceTouchProcessor : ITouchProcessor { }
|
||||
public partial class DeckTouchProcessor : ITouchProcessor { }
|
||||
public partial class EvolutionTouchProcessor : ITouchProcessor { }
|
||||
public partial class FusionSimpleProcessor : ITouchProcessor { }
|
||||
public partial class FusionTargetSelectTouchProcessor : ITouchProcessor { }
|
||||
public partial class SelectCardProcessor : ITouchProcessor { }
|
||||
|
||||
// Empty hand stubs: supply the four ITouchProcessor members as no-ops.
|
||||
public partial class SkillTargetSelectTouchProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
public partial class SetCardProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
public partial class EvolutionSimpleProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
public partial class EmotionTouchProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
public partial class ClassBuffTouchProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
// Decomp: DetailPanelTouchProcessor : CardTouchProcessorBase; the hand stub omits
|
||||
// the base, so supply the interface members directly like the other empty stubs.
|
||||
public partial class DetailPanelTouchProcessor : ITouchProcessor
|
||||
{
|
||||
public VfxBase Start() => NullVfx.GetInstance();
|
||||
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
|
||||
public VfxWith<ITouchProcessor> End() => default!;
|
||||
public bool CheckIsEnd() => default!;
|
||||
}
|
||||
}
|
||||
@@ -103,7 +103,7 @@ namespace Wizard.Battle.View.Vfx
|
||||
{
|
||||
public T Value { get; set; }
|
||||
public VfxWith() { }
|
||||
public VfxWith(T value, VfxBase vfx) { Value = value; Vfx = vfx; }
|
||||
public VfxWith(VfxBase vfx, T value) { Vfx = vfx; Value = value; }
|
||||
}
|
||||
|
||||
// Two-value pair (engine reads .Value_1 / .Value_2 / .Vfx).
|
||||
|
||||
@@ -39,13 +39,13 @@ namespace Wizard.Battle.UI
|
||||
|
||||
namespace Wizard.Battle.Touch
|
||||
{
|
||||
public class SkillTargetSelectTouchProcessor { }
|
||||
public partial class SkillTargetSelectTouchProcessor { }
|
||||
public partial class EvolutionTouchProcessor { }
|
||||
public class SetCardProcessor { }
|
||||
public class EvolutionSimpleProcessor { }
|
||||
public class EmotionTouchProcessor { }
|
||||
public class DetailPanelTouchProcessor { }
|
||||
public class ClassBuffTouchProcessor { }
|
||||
public partial class SetCardProcessor { }
|
||||
public partial class EvolutionSimpleProcessor { }
|
||||
public partial class EmotionTouchProcessor { }
|
||||
public partial class DetailPanelTouchProcessor { }
|
||||
public partial class ClassBuffTouchProcessor { }
|
||||
}
|
||||
|
||||
namespace Wizard.Battle.Replay
|
||||
|
||||
Reference in New Issue
Block a user