void init() { if (isInitalized) { return; } FlutterHotReloadHelper.HotReloadHandler = this; isInitalized = true; GeneratedPluginRegistrant.Register(Engine); MethodChannel = FlutterMethodChannel.FromNameAndMessenger("com.Microsoft.FlutterSharp/Messages", Engine.BinaryMessenger); Flutter.Internal.Communicator.SendCommand = (x) => MethodChannel.InvokeMethod(x.Method, (NSString)x.Arguments); MethodChannel.SetMethodCaller((call, result) => { if (call.Method == "ready" && Widget != null) { isReady = true; FlutterManager.SendState(Widget); } Flutter.Internal.Communicator.OnCommandReceived?.Invoke((call.Method, call.Arguments.ToString(), (x) => { result((NSString)x); } )); }); }
public void SetState(Action setState) { setState(); Child?.Dispose(); Child = null; PrepareForSending(); FlutterManager.SendState(this.Child, this.Id); }
public void Reload() { if (Widget == null) { return; } Widget.PrepareForSending(); if (isReady) { FlutterManager.SendState(Widget); } }
public Widget() { BackingStruct.Id = IDGenerator.Instance.Next; FlutterManager.TrackWidget(this); }
public void SetState(Action setState) { setState(); Child = Build(); FlutterManager.SendState(this.Child, this.Id); }