feat(battle-engine): clear header frontier (Item/ErrorDialog/SDK shims + infra copies)
Resolves the 268-error header frontier: settings Item base, ErrorDialog.Data, RoomConnectController nested types, Unity asset/light/collider types, CriWare/ CodeStage/Spine SDK surface, and copies INetworkLogger + SingletonMonoBehaviour verbatim. Per F3 this unmasks the type bodies (~26.5k member-level errors now visible) -- the real M1 bulk, attacked in following waves.
This commit is contained in:
@@ -242,6 +242,7 @@ ICardSuperSkyboundArtCountModifier.cs ICardSuperSkyboundArtCountModifier.cs 7e68
|
||||
ICardUnionBurstCountModifier.cs ICardUnionBurstCountModifier.cs ba967c6dc5d5a202fc6ded3b788b4fbd14d2a840fb2ce0858c6dc9f332a4fbfc 0
|
||||
IDInput.cs IDInput.cs 6366e6c23d9c954bb08d8052040e04953528b02084c380a9f6004581758d8934 0
|
||||
IDetailPanelControl.cs IDetailPanelControl.cs f705759bfd1ee67cb2fd89727c9c5bc3fa339e1a45ecdba0f1deffa5d7464e71 0
|
||||
INetworkLogger.cs INetworkLogger.cs b7c350604afeec7b31078c254297785062ecdff88e65cb530d870d6b791f4a11 0
|
||||
INextSceneSelector.cs INextSceneSelector.cs 52d188563368337f2653d41f54ed6ba915911929134b6bef628f6cd72c820c95 0
|
||||
IPpModifier.cs IPpModifier.cs 95a83890b06528d37c73dea24b75a3dcd23dfd532508bcb90463e34a5811d19e 0
|
||||
IResultAnimationHandler.cs IResultAnimationHandler.cs 0106c5eb9c8d912d47c5cc46336bffce1284cf5935088850fc0dc6c7ccfe3351 0
|
||||
@@ -625,6 +626,7 @@ SimpleCardDetail.cs SimpleCardDetail.cs 9ab323d687845ca53a27651b08d9747140a1f85e
|
||||
SingleBattleMgr.cs SingleBattleMgr.cs 777e5bbb7292df308fa612fed9883b4b10c24451a945e56fd741bf1fe2d9b4ad 0
|
||||
SingleExecutionInfoCreator.cs SingleExecutionInfoCreator.cs 1a64285907bf4fb29138cfcabeae99834a6730d2857de0cd82efb3e0ddf52f52 0
|
||||
SingleSkill_attach_skill.cs SingleSkill_attach_skill.cs 65e7581c82c4bf84cf738fbd1a605670b87f9623ad7ff561a3fc1c6713c80cb9 0
|
||||
SingletonMonoBehaviour.cs SingletonMonoBehaviour.cs a69a9a5d57dbf83f6fa5c875a2788dc78b3367de0f6c81cb903f887b9a67c226 0
|
||||
SkillAbilityAccelerateFilter.cs SkillAbilityAccelerateFilter.cs b13d84c14d8d8a6d3d58258b9f6c8525bf17063a7b0bdf48614c4ede1343ff91 0
|
||||
SkillAbilityBurialRiteFilter.cs SkillAbilityBurialRiteFilter.cs 003b61178157d70cc51128d79e163dde19631155c2c89f6656b98f28b63f2851 0
|
||||
SkillAbilityCantAttackAllFilter.cs SkillAbilityCantAttackAllFilter.cs 6998cc6f15d12ba49b5aea79d4f2e80620c998f23d82685ac7bda2164ca07ed6 0
|
||||
|
||||
|
13
SVSim.BattleEngine/Engine/INetworkLogger.cs
Normal file
13
SVSim.BattleEngine/Engine/INetworkLogger.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public interface INetworkLogger<out T> : IEnumerable<T>, IEnumerable
|
||||
{
|
||||
void LogInfo(string text);
|
||||
|
||||
void LogWarning(string text);
|
||||
|
||||
void LogError(string text);
|
||||
|
||||
void ClearLog();
|
||||
}
|
||||
43
SVSim.BattleEngine/Engine/SingletonMonoBehaviour.cs
Normal file
43
SVSim.BattleEngine/Engine/SingletonMonoBehaviour.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class SingletonMonoBehaviour<T> : MonoBehaviour where T : MonoBehaviour
|
||||
{
|
||||
private static T _instance;
|
||||
|
||||
protected bool _isRedy;
|
||||
|
||||
public static T instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = (T)Object.FindObjectOfType(typeof(T));
|
||||
if (_instance == null)
|
||||
{
|
||||
Debug.LogError(typeof(T)?.ToString() + "is nothing");
|
||||
}
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
public bool isRedy => _isRedy;
|
||||
|
||||
public static bool IsInstanceEmpty()
|
||||
{
|
||||
return _instance == null;
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = (T)Object.FindObjectOfType(typeof(T));
|
||||
if (_instance == null)
|
||||
{
|
||||
Debug.LogError(typeof(T)?.ToString() + "is nothing");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50
SVSim.BattleEngine/Shim/External/SdkStubs.cs
vendored
Normal file
50
SVSim.BattleEngine/Shim/External/SdkStubs.cs
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// AUTHORED SHIM (not copied). Third-party SDK surface swept into the copy closure by
|
||||
// non-battle files (audio/movie/anti-cheat/analytics/spine). None is on the battle-
|
||||
// resolution path. Namespaces must merely exist (anchors); the few types referenced
|
||||
// by member get a minimal no-op surface. Members grow only as the compile loop demands.
|
||||
|
||||
// ---- CriWare audio + movie ----
|
||||
namespace CriWare
|
||||
{
|
||||
public class CriAtomExAcb { }
|
||||
public class CriAtomExPlayback { }
|
||||
internal class _ShimAnchor { }
|
||||
}
|
||||
namespace CriWare.CriMana
|
||||
{
|
||||
public class CriManaMovieMaterial
|
||||
{
|
||||
public enum MaxFrameDrop { Disable, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten }
|
||||
}
|
||||
internal class _ShimAnchor { }
|
||||
}
|
||||
|
||||
// ---- CodeStage anti-cheat obscured prefs (static k/v facade; no persistence headless) ----
|
||||
namespace CodeStage.AntiCheat.ObscuredTypes
|
||||
{
|
||||
public static class ObscuredPrefs
|
||||
{
|
||||
public static bool HasKey(string key) => false;
|
||||
public static void DeleteKey(string key) { }
|
||||
public static void DeleteAll() { }
|
||||
public static void Save() { }
|
||||
public static int GetInt(string key, int defaultValue = 0) => defaultValue;
|
||||
public static float GetFloat(string key, float defaultValue = 0f) => defaultValue;
|
||||
public static string GetString(string key, string defaultValue = "") => defaultValue;
|
||||
public static void SetInt(string key, int value) { }
|
||||
public static void SetFloat(string key, float value) { }
|
||||
public static void SetString(string key, string value) { }
|
||||
}
|
||||
}
|
||||
|
||||
// ---- Spine animation ----
|
||||
namespace Spine { public class Bone { } internal class _ShimAnchor { } }
|
||||
namespace Spine.Unity { public class SkeletonMecanim { } internal class _ShimAnchor { } }
|
||||
|
||||
// ---- misc third-party namespaces (anchors) ----
|
||||
namespace RedShellUnity { internal class _ShimAnchor { } }
|
||||
namespace PlatformSupport.Collections.ObjectModel { internal class _ShimAnchor { } }
|
||||
namespace Convention { internal class _ShimAnchor { } }
|
||||
namespace com.adjust.sdk { internal class _ShimAnchor { } }
|
||||
namespace BestHTTP.Decompression { internal class _ShimAnchor { } }
|
||||
namespace BestHTTP.SocketIO.Transports { internal class _ShimAnchor { } }
|
||||
68
SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs
Normal file
68
SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
// AUTHORED SHIM (not copied). Second UnityEngine batch surfaced by the M1 compile
|
||||
// loop (wave after the 2,570-file copy closure). Same rules as UnityShim.cs: no-op
|
||||
// presentation/IO surface; add only what the compiler demands. Asset/light/collider
|
||||
// types are referenced only as field/parameter types or via suppressed-IO calls.
|
||||
using System;
|
||||
|
||||
namespace UnityEngine
|
||||
{
|
||||
public class TextAsset : Object
|
||||
{
|
||||
public string text => "";
|
||||
public byte[] bytes => new byte[0];
|
||||
}
|
||||
|
||||
public class AsyncOperation
|
||||
{
|
||||
public bool isDone => true;
|
||||
public float progress => 1f;
|
||||
public int priority { get; set; }
|
||||
public bool allowSceneActivation { get; set; }
|
||||
}
|
||||
|
||||
public class AssetBundle : Object
|
||||
{
|
||||
public static AssetBundle LoadFromFile(string path) => null;
|
||||
public static AssetBundleCreateRequest LoadFromFileAsync(string path) => null;
|
||||
public string[] GetAllAssetNames() => new string[0];
|
||||
public T LoadAsset<T>(string name) where T : Object => null;
|
||||
public Object LoadAsset(string name) => null;
|
||||
public Object[] LoadAllAssets() => new Object[0];
|
||||
public AssetBundleRequest LoadAllAssetsAsync() => null;
|
||||
public void Unload(bool unloadAllLoadedObjects) { }
|
||||
}
|
||||
|
||||
public class AssetBundleCreateRequest : AsyncOperation { public AssetBundle assetBundle => null; }
|
||||
public class AssetBundleRequest : AsyncOperation { public Object asset => null; public Object[] allAssets => new Object[0]; }
|
||||
|
||||
public class Collider2D : Component { public bool enabled { get; set; } }
|
||||
public class BoxCollider2D : Collider2D { }
|
||||
public class Light : Behaviour { }
|
||||
public class AudioListener : Behaviour { }
|
||||
|
||||
public enum RenderTextureFormat { ARGB32, Depth, ARGBHalf, ARGB64, Default }
|
||||
|
||||
public enum RuntimeInitializeLoadType
|
||||
{
|
||||
AfterSceneLoad, BeforeSceneLoad, AfterAssembliesLoaded,
|
||||
BeforeSplashScreen, SubsystemRegistration
|
||||
}
|
||||
|
||||
public sealed class RuntimeInitializeOnLoadMethodAttribute : Attribute
|
||||
{
|
||||
public RuntimeInitializeOnLoadMethodAttribute() { }
|
||||
public RuntimeInitializeOnLoadMethodAttribute(RuntimeInitializeLoadType loadType) { }
|
||||
}
|
||||
}
|
||||
|
||||
// Sub-namespace anchors (referenced via `using`; types unmask in later waves if used).
|
||||
namespace UnityEngine.Experimental { internal class _ShimAnchor { } }
|
||||
namespace UnityEngine.Experimental.Rendering { internal class _ShimAnchor { } }
|
||||
namespace UnityEngine.SceneManagement { internal class _ShimAnchor { } }
|
||||
namespace UnityEngine.SocialPlatforms
|
||||
{
|
||||
// NOTE: no IAchievementCallback here -- the engine's AchievementImpl uses
|
||||
// Cute.IAchievementCallback; adding one here makes the unqualified name ambiguous.
|
||||
public interface IAchievement { }
|
||||
public interface IAchievementDescription { }
|
||||
}
|
||||
122
SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs
Normal file
122
SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs
Normal file
@@ -0,0 +1,122 @@
|
||||
// AUTHORED SHIM (not copied). Non-battle game types (settings widgets, error-dialog
|
||||
// data, login-bonus, deck-builder, story chapter-selection, room-match, socket.io)
|
||||
// swept into the copy closure but never driven headless. Stubbed in their ORIGINAL
|
||||
// namespaces so the copied engine resolves their type references. Enums are replicated
|
||||
// VERBATIM from decomp (integer values can be cast); classes are empty until the loop
|
||||
// demands a member.
|
||||
using UnityEngine;
|
||||
|
||||
namespace Wizard.Dialog.Setting
|
||||
{
|
||||
// Real base of ItemButton/ItemToggle/... (copied). Abstract methods the copied
|
||||
// subclasses override -- without this base they fall back to the unrelated
|
||||
// Wizard.Item data class and CS0115 ("no method to override").
|
||||
public abstract class Item : MonoBehaviour
|
||||
{
|
||||
public abstract void AddChangeCallback(EventDelegate.Callback callback);
|
||||
public abstract void SetActive_SeparatorLine(bool isActive);
|
||||
}
|
||||
}
|
||||
|
||||
namespace Wizard.ErrorDialog
|
||||
{
|
||||
// Real Wizard.ErrorDialog.Data; without it Dialog.cs's unqualified `Data` falls
|
||||
// back to the static Wizard.Data god-object (CS0718/0722/0723 + missing ButtonType).
|
||||
public class Data
|
||||
{
|
||||
public enum ContactDisplayType { _NONE_, 表示, MAX }
|
||||
public enum ButtonType { _NONE_, OK, リトライ, タイトルへ戻る, ホームへ戻る, アプリ終了, バージョンアップ, 推奨端末一覧, MAX }
|
||||
|
||||
public string TitleId { get; private set; }
|
||||
public string BodyId { get; private set; }
|
||||
public bool IsDisplayContact { get; private set; }
|
||||
public ButtonType MainButton { get; private set; }
|
||||
public ButtonType SubButton { get; private set; }
|
||||
public int PanelDepth { get; private set; }
|
||||
|
||||
public Data(string id, string titleId, string bodyId, string contactDisplay,
|
||||
string mainButton, string subButton, string panelDepth) { }
|
||||
}
|
||||
}
|
||||
|
||||
namespace Wizard.Battle.UI
|
||||
{
|
||||
public enum CantAttackType { Null, All, Class, NotHasGuard, Unit, Max }
|
||||
}
|
||||
|
||||
namespace Wizard.Battle.View
|
||||
{
|
||||
public abstract class ClassBattleCardViewBase { }
|
||||
public class NullBattleCardView { }
|
||||
}
|
||||
|
||||
namespace Wizard.Battle.View.Vfx
|
||||
{
|
||||
// Base of the copied PuzzleBattleManager.PuzzleOpeningVfx (ctor + abstract override).
|
||||
public abstract class OpeningVfx : SequentialVfxPlayer
|
||||
{
|
||||
protected OpeningVfx(BackGroundBase backGround) { }
|
||||
public abstract void RegisterOpeningVfx(ClassBattleCardBase playerClass, ClassBattleCardBase enemyClass);
|
||||
}
|
||||
}
|
||||
|
||||
namespace AnimationOrTween
|
||||
{
|
||||
public enum DisableCondition { DisableAfterReverse = -1, DoNotDisable, DisableAfterForward }
|
||||
public enum EnableCondition { DoNothing, EnableThenPlay, IgnoreDisabledState }
|
||||
}
|
||||
|
||||
namespace Wizard.UI.LoginBonus
|
||||
{
|
||||
public class ContinuousData { }
|
||||
public class NormalData { }
|
||||
public class SpecialData { }
|
||||
public class FreeCardPackBoxData { }
|
||||
}
|
||||
|
||||
namespace DeckBuilder
|
||||
{
|
||||
public class GenerateDeckCode { }
|
||||
public class GetDeckDataFromCode { }
|
||||
}
|
||||
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult
|
||||
{
|
||||
public interface IProcessing { }
|
||||
public class Parameter { }
|
||||
}
|
||||
|
||||
namespace Wizard.RoomMatch
|
||||
{
|
||||
public class PlayerControllerForWatching { }
|
||||
public class RoomRuleSetting { }
|
||||
}
|
||||
|
||||
namespace Cute
|
||||
{
|
||||
public class SceneManager { }
|
||||
}
|
||||
|
||||
namespace Wizard.Story
|
||||
{
|
||||
public enum StoryApiType { None, MainStory, LimitedStory, EventStory }
|
||||
public class SelectedStoryInfo { }
|
||||
public sealed class StoryWorldDataManager { }
|
||||
}
|
||||
|
||||
namespace BestHTTP.SocketIO
|
||||
{
|
||||
public sealed class Packet { }
|
||||
public sealed class Socket { }
|
||||
public sealed class SocketManager
|
||||
{
|
||||
// Connection state enum the network agent polls (Initial/Open referenced).
|
||||
public enum States { Initial, Opening, Open, Paused, Reconnecting, Closed }
|
||||
}
|
||||
}
|
||||
|
||||
// ---- namespace anchors (referenced via `using`/qualified path; no type used yet) ----
|
||||
namespace Wizard.Scripts.Network.Task { internal class _ShimAnchor { } }
|
||||
namespace Wizard.Scripts.Network.Task.Arena { internal class _ShimAnchor { } }
|
||||
namespace Wizard.Scripts.Network.Task.Arena.TwoPick { internal class _ShimAnchor { } }
|
||||
namespace BestHTTP.Decompression.Zlib { internal class _ShimAnchor { } }
|
||||
@@ -67,6 +67,8 @@ namespace Wizard.RoomMatch
|
||||
public class RoomConnectController
|
||||
{
|
||||
public enum BattleRule { None, Bo1 }
|
||||
public enum PositionMode { OWNER, VISITOR, WATCHER }
|
||||
public class InitializeParameter { }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user