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.
62 lines
2.8 KiB
C#
62 lines
2.8 KiB
C#
// AUTHORED SHIM (not copied). The god-object singletons the engine reaches for
|
|
// presentation/scene/effects. These are the M0 "stop the bleed" types: copying
|
|
// them would re-explode the closure into the whole app (audio, scene, UI, net),
|
|
// so we shim a minimal surface. The nested enums below are presentation
|
|
// classifiers used only inside never-run VFX actions (IsForecast suppresses VFX),
|
|
// so their VALUES are immaterial to game state -- but the symbols the engine
|
|
// references must exist to compile. Members listed are exactly those the compiler
|
|
// demanded (extracted from the copied engine, not guessed).
|
|
// (Global namespace: the decomp root files declare no namespace.)
|
|
|
|
public class EffectMgr
|
|
{
|
|
public enum EffectType
|
|
{
|
|
NONE,
|
|
CMN_CARD_ACCELERATE_1, CMN_CARD_CRYSTALLIZE_1, CMN_CARD_SELECT_3,
|
|
CMN_CARD_SET_1, CMN_CARD_SET_2, CMN_CARD_SET_3,
|
|
CMN_CARD_TARGET_1, CMN_CARD_TARGET_2,
|
|
CMN_CRAFT_CARD_1, CMN_CRAFT_CARD_2, CMN_CRAFT_ICON_1,
|
|
CMN_CRAFT_SPLASH_1, CMN_CRAFT_SPLASH_2, CMN_CRAFT_SPLASH_3, CMN_CRAFT_SPLASH_4,
|
|
CMN_CRAFT_TRACK_1, CMN_FRAME_BTN_1, CMN_FRAME_BTN_2,
|
|
CMN_GACHA_CURSOR_1, CMN_GACHA_OPEN_2, CMN_GACHA_OPEN_3, CMN_GACHA_OPEN_4,
|
|
CMN_INPUT_DRAG_1, CMN_INPUT_TOUCH_1, CMN_INPUT_TOUCH_2,
|
|
CMN_RESULT_BACK_1, CMN_RESULT_BACK_2, CMN_RESULT_BACK_3,
|
|
CMN_RESULT_FAILED_1, CMN_RESULT_GAUGE_1, CMN_RESULT_GAUGE_2,
|
|
CMN_RESULT_LVUP_1, CMN_RESULT_MATCH_1, CMN_RESULT_ORB_1, CMN_RESULT_ORB_2,
|
|
CMN_RESULT_RANKDOWN_1, CMN_RESULT_RANKUP_1, CMN_RESULT_TIERUP_1,
|
|
CMN_START_CARD_1, CMN_START_VS_1, CMN_START_VS_ST2,
|
|
CMN_UI_TURN_1, CMN_UI_TURN_5, CMN_UI_TURN_6,
|
|
}
|
|
public enum MoveType { NONE, DIRECT, DIRECT_HAND, DIRECT_LEADER }
|
|
public enum TargetType { NONE, NONE_WAIT, SINGLE, SINGLE_ONLY_OPPONENT, AREA_ALL, AREA_OPPONENT, AREA_SELF }
|
|
public enum EngineType { NONE, SHURIKEN, SOLID }
|
|
}
|
|
|
|
public class UIManager
|
|
{
|
|
public static UIManager GetIns() => _ins ??= new UIManager();
|
|
private static UIManager _ins;
|
|
|
|
public enum ViewScene
|
|
{
|
|
None, Battle, Bingo, BuildDeckPurchasePage, CardAllList, CardSleevePurchasePage,
|
|
ClassSkinPurchasePage, Colosseum, CrossoverPortal, DeckList, Gacha, Gathering,
|
|
LeaderPopularityVote, LoginBonus, LotteryPage, Mission, MyPage,
|
|
NeutralPopularityVote, Profile, QuestSelectionPage, RankMatch, Room,
|
|
StorySelectPage, StorySelectionWorld, TwoPick,
|
|
}
|
|
public class ChangeViewSceneParam { }
|
|
}
|
|
|
|
public class GameMgr
|
|
{
|
|
public static GameMgr GetIns() => _ins ??= new GameMgr();
|
|
private static GameMgr _ins;
|
|
public bool IsAdminWatch => false;
|
|
public bool IsWatchBattle => false;
|
|
public bool IsReplayBattle => false;
|
|
public EffectMgr GetEffectMgr() => _effect ??= new EffectMgr();
|
|
private EffectMgr _effect;
|
|
}
|