mirror of
https://github.com/originalnicodr/CinematicUnityExplorer.git
synced 2026-10-11 09:58:02 +08:00
58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.UI;
|
|
|
|
namespace UnityExplorer.Core.Runtime
|
|
{
|
|
// Work in progress, this will be used to replace all the "if CPP / if MONO"
|
|
// pre-processor directives all over the codebase.
|
|
|
|
public abstract class RuntimeProvider
|
|
{
|
|
public static RuntimeProvider Instance;
|
|
|
|
public ReflectionProvider Reflection;
|
|
public TextureUtilProvider TextureUtil;
|
|
|
|
public RuntimeProvider()
|
|
{
|
|
Initialize();
|
|
|
|
SetupEvents();
|
|
}
|
|
|
|
public static void Init() =>
|
|
#if CPP
|
|
Instance = new Il2Cpp.Il2CppProvider();
|
|
#else
|
|
Instance = new Mono.MonoProvider();
|
|
#endif
|
|
|
|
|
|
public abstract void Initialize();
|
|
|
|
public abstract void SetupEvents();
|
|
|
|
public abstract void StartConsoleCoroutine(IEnumerator routine);
|
|
|
|
// Unity API handlers
|
|
|
|
public abstract string LayerToName(int layer);
|
|
|
|
public abstract UnityEngine.Object[] FindObjectsOfTypeAll(Type type);
|
|
|
|
public abstract int GetSceneHandle(Scene scene);
|
|
|
|
public abstract GameObject[] GetRootGameObjects(Scene scene);
|
|
|
|
public abstract int GetRootCount(Scene scene);
|
|
|
|
public abstract void CheckInputPointerEvent();
|
|
}
|
|
}
|