StellarInterop class
Static IL2CPP-interop reflection floor shared by every plugin. Pure BCL reflection over the live AppDomain — no Unity / game / HarmonyX references — so it lives in the contract layer alongside VirtualListMath and can be called from static Harmony patch classes that hold no IPluginServices handle.
IL2CPP notes: il2cpp fields surface as PropertyInfo (never FieldInfo); il2cpp lists (ZList<T>) are not IEnumerable, so walk them with Count + Item; ZSingleton<T>.Instance is an inherited static member reachable via the base-chain walk in GetSingleton.
public static class StellarInteropPublic Members
Section titled “Public Members”| name | description |
|---|---|
| static Count(…) | Reads the Count property off an il2cpp list/collection. Returns 0 when the object is null or exposes no readable Count. |
| static Enumerate(…) | Lazily enumerates an il2cpp list as boxed elements via Count + Item. Elements that fail to read yield null. Safe to foreach over a non-IEnumerable ZList. |
| static FindFieldUp(…) | Finds a field named name by walking the base chain. Rarely needed on il2cpp (fields are properties there) but present for the occasional managed backing field. Returns null if absent. |
| static FindMethod(…) | Finds the first non-generic method named name with exactly paramCount parameters, walking the base chain. Use when an exact-signature GetMethod fails because an il2cpp proxy uses Il2CppSystem parameter types. |
| static FindPropertyUp(…) | Finds a property named name by walking the base chain (il2cpp fields surface as properties, and inherited members are not returned without a base-chain walk). Returns null if absent. |
| static FindType(…) | Resolves a type by full name across every loaded assembly. Successful results are cached; misses are not (game types load lazily, so a later call can still succeed). Returns null if absent. |
| static GetSingleton(…) | Reads the static singleton accessor (Instance property or field) off t, walking the base chain so an inherited ZSingleton<T>.Instance resolves. Returns null if absent or if the getter throws. (2 methods) |
| static Item(…) | Reads element index off an il2cpp list via its indexer (Item property or get_Item(int) method). Returns null on any failure. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Services