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);
         }
                                                                  ));
     });
 }
Example #2
0
 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);
     }
 }
Example #4
0
 public Widget()
 {
     BackingStruct.Id = IDGenerator.Instance.Next;
     FlutterManager.TrackWidget(this);
 }
Example #5
0
 public void SetState(Action setState)
 {
     setState();
     Child = Build();
     FlutterManager.SendState(this.Child, this.Id);
 }