public UnityUGUIContext(RectTransform hostElement, Jint.Engine engine, StringObjectDictionary assets, ReactScript script, bool isDevServer) { Engine = engine; Globals = assets; Script = script; IsDevServer = isDevServer; Parser = new StylesheetParser(true, true, true, true, true); StyleTree = new StyleTree(Parser); Host = new HostComponent(hostElement, this); Host.Tag = "_root"; RootLayoutNode = Host.Layout; InsertStyle(ResourcesHelper.UseragentStylesheet?.text, -1); Host.ResolveStyle(true); MainThreadDispatcher.AddCallOnLateUpdate(() => { if (Scheduled) { RootLayoutNode.CalculateLayout(); Scheduled = false; for (int i = 0; i < ScheduledCallbacks.Count; i++) { ScheduledCallbacks[i]?.Invoke(); } } }); }
public UGUIContext(RectTransform hostElement, StringObjectDictionary globals, ReactScript script, IDispatcher dispatcher, IUnityScheduler scheduler, bool isDevServer, Action onRestart) : base(globals, script, dispatcher, scheduler, isDevServer, onRestart) { Host = new HostComponent(hostElement, this); RootLayoutNode = Host.Layout; InsertStyle(ResourcesHelper.UseragentStylesheet?.text, -1); Host.ResolveStyle(true); Action callback = () => { if (Scheduled) { RootLayoutNode.CalculateLayout(); Scheduled = false; for (int i = 0; i < ScheduledCallbacks.Count; i++) { ScheduledCallbacks[i]?.Invoke(); } } }; dispatcher.AddCallOnLateUpdate(callback); }
public EditorContext(VisualElement hostElement, GlobalRecord globals, ReactScript script, IDispatcher dispatcher, IUnityScheduler scheduler, bool isDevServer, Action onRestart = null) : base(globals, script, dispatcher, scheduler, isDevServer, onRestart, true) { Host = new HostComponent(hostElement, this); InsertStyle(EditorResourcesHelper.UseragentStylesheet?.text, -1); Host.ResolveStyle(true); hostElement.styleSheets.Add(EditorResourcesHelper.UtilityStylesheet); }
public UGUIContext(RectTransform hostElement, GlobalRecord globals, ReactScript script, IDispatcher dispatcher, IUnityScheduler scheduler, bool isDevServer, Action onRestart) : base(globals, script, dispatcher, scheduler, isDevServer, onRestart) { Host = new HostComponent(hostElement, this); RootLayoutNode = Host.Layout; InsertStyle(ResourcesHelper.UseragentStylesheet?.text, -1); Host.ResolveStyle(true); Action callback = () => { if (LayoutScheduled) { RootLayoutNode.CalculateLayout(); LayoutScheduled = false; } }; dispatcher.OnEveryLateUpdate(callback); }
public EditorContext(VisualElement hostElement, StringObjectDictionary globals, ReactScript script, IDispatcher dispatcher, IUnityScheduler scheduler, bool isDevServer, ReactWindow editor, Action onRestart = null) : base(globals, script, dispatcher, scheduler, isDevServer, onRestart, true) { Editor = editor; Host = new HostComponent(hostElement, this); InsertStyle(EditorResourcesHelper.UseragentStylesheet?.text, -1); Host.ResolveStyle(true); hostElement.styleSheets.Add(EditorResourcesHelper.UtilityStylesheet); dispatcher.AddCallOnLateUpdate(() => { if (Scheduled) { Scheduled = false; for (int i = 0; i < ScheduledCallbacks.Count; i++) { ScheduledCallbacks[i]?.Invoke(); } } }); }