public RuntimeUnityEditorCore(GameObject pluginObject, ILoggerWrapper logger) { if (Instance != null) { throw new InvalidOperationException("Can only create one instance of the Core object"); } PluginObject = pluginObject; Logger = logger; Instance = this; Inspector = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform)); TreeViewer = new ObjectTreeViewer(items => { Inspector.InspectorClear(); foreach (var stackEntry in items) { Inspector.InspectorPush(stackEntry); } }); if (Utils.UnityFeatureHelper.SupportsCursorIndex && Utils.UnityFeatureHelper.SupportsXml) { Repl = new ReplWindow(); } }
internal RuntimeUnityEditorCore(MonoBehaviour pluginObject, ILoggerWrapper logger, string configPath) { if (Instance != null) { throw new InvalidOperationException("Can only create one instance of the Core object"); } CompositeResolver.RegisterAndSetAsDefault(GeneratedResolver.Instance, BuiltinResolver.Instance, PrimitiveObjectResolver.Instance); PluginObject = pluginObject; Logger = logger; Instance = this; InitNativeGUI(); Inspector = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform)); TreeViewer = new ObjectTreeViewer(pluginObject); TreeViewer.InspectorOpenCallback = items => { Inspector.InspectorClear(); foreach (var stackEntry in items) { Inspector.InspectorPush(stackEntry); } }; if (UnityFeatureHelper.SupportsVectrosity) { GizmoDrawer = new GizmoDrawer(pluginObject); TreeViewer.TreeSelectionChangedCallback = transform => GizmoDrawer.UpdateState(transform); } if (UnityFeatureHelper.SupportsCursorIndex && UnityFeatureHelper.SupportsXml) { try { Repl = new ReplWindow(Path.Combine(configPath, "RuntimeUnityEditor.Autostart.cs")); Repl.RunAutostart(); } catch (Exception ex) { Logger.Log(LogLevel.Warning, "Failed to load REPL - " + ex.Message); } } }
public RuntimeUnityEditorCore(MonoBehaviour pluginObject, ILoggerWrapper logger) { if (Instance != null) { throw new InvalidOperationException("Can only create one instance of the Core object"); } PluginObject = pluginObject; Logger = logger; Instance = this; Inspector = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform)); TreeViewer = new ObjectTreeViewer(pluginObject); TreeViewer.InspectorOpenCallback = items => { Inspector.InspectorClear(); foreach (var stackEntry in items) { Inspector.InspectorPush(stackEntry); } }; if (Utils.UnityFeatureHelper.SupportsVectrosity) { GizmoDrawer = new GizmoDrawer(pluginObject); TreeViewer.TreeSelectionChangedCallback = transform => GizmoDrawer.UpdateState(transform); } if (Utils.UnityFeatureHelper.SupportsCursorIndex && Utils.UnityFeatureHelper.SupportsXml) { try { Repl = new ReplWindow(); } catch (Exception ex) { Logger.Log(LogLevel.Warning, "Failed to load REPL - " + ex.Message); } } }