Files
SVSimServer/SVSim.BattleEngine/Shim/View/TouchProcessorIfaces.cs
gamer147 5c5a58af3c port(m1): wave 7f — VFX containers / Create factories / dropped event / ctor cascade (112->88)
- VFX: SequentialVfxPlayer.GetAllVfxAsList, ParallelVfxPlayer.GetVfxList,
  VfxMgr.CheckAndAddEffectVfxList; point our own ShowBattleUIImmediatelyVfx stub at
  NullVfx.GetInstance() (it called a non-existent NullVfx.Create).
- Static factories: SkillTargetSelectTouchProcessor.Create (10-arg),
  DialogReportToManagement.Create(long).
- Re-add StartSkillSelectVfx.OnStart event (m1_stub_gen drops `event` decls — the
  recurring session-6 gap; generator event-capture fix still pending).
- Stop the BattleCardView/GameObjMgr ctor cascade: parameterless ctors on the no-op
  BattleCardView and GameObjMgr hand shims so non-chaining subclass/field stubs satisfy
  their implicit base() call.
- Copy Cute/ListExtensions.cs (FisherYatesShuffle extension) verbatim into Engine.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 00:49:07 -04:00

77 lines
4.8 KiB
C#

// 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 System;
using System.Collections.Generic;
using UnityEngine;
using Wizard.Battle.View.Vfx;
using Wizard.Battle.Player.Emotion;
using Wizard.Battle.Resource;
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 static SkillTargetSelectTouchProcessor Create(BattleManagerBase battleMgr, BattleCardBase actCard, List<SkillBase> selectSkills, Prediction prediction, List<BattleCardBase> selectCards, bool isEvolve, bool isChoiceBrave, BattleCardBase transformCard = null, Action onCompleteLastProcess = null, Action onCancelLastProcess = null) => default!;
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 SetCardProcessor(BattleManagerBase battleMgr, BattleCardBase actCard, List<SkillBase> selectSkills, Prediction prediction, Func<BattleCardBase, List<BattleCardBase>, List<SkillBase>, bool, SkillTargetSelectTouchProcessor> getSkillTargetSelectTouchProcessorFunc) { }
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 EvolutionSimpleProcessor(BattleManagerBase battleMgr, BattleCardBase card, InputMgr inputMgr, List<SkillBase> selectSkills, Func<BattleCardBase, List<BattleCardBase>, List<SkillBase>, bool, SkillTargetSelectTouchProcessor> getSkillTargetSelectTouchProcessorFunc = null, Func<VfxBase> onStartEvolveSkillTargetSelect = null) { }
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 EmotionTouchProcessor(IPlayerEmotion emotion, IBattleResourceMgr resourceMgr, TouchControl touchControl, InputMgr inputMgr, VfxMgr emotionVfxMgr, bool isKeyboard = false) { }
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 ClassBuffTouchProcessor(BattleManagerBase battleMgr, BattleCardBase touchClass, InputMgr inputMgr) { }
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 DetailPanelTouchProcessor(BattleManagerBase battleMgr, BattleCardBase touchCard, InputMgr inputMgr, Prediction prediction, EvolutionSimpleProcessor evolutionProcessor) { }
public VfxBase Start() => NullVfx.GetInstance();
public VfxBase Update(float dt, Camera camera) => NullVfx.GetInstance();
public VfxWith<ITouchProcessor> End() => default!;
public bool CheckIsEnd() => default!;
}
}