public MainPage(ScannerConnection connection, bool offlineMode) { this.connection = connection; this.serializer = new ProtobufNetworkSerializer(); NavigationPage.SetHasNavigationBar(this, false); var grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(1, GridUnitType.Star)}); grid.ColumnDefinitions.Add(new ColumnDefinition {Width = new GridLength(4, GridUnitType.Star)}); bulbsStack = new StackLayout(); grid.Children.Add(bulbsStack); urhoSurface = new UrhoSurface { BackgroundColor = Color.Black, VerticalOptions = LayoutOptions.FillAndExpand }; var stack = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, Children = {urhoSurface} }; grid.Children.Add(stack); Grid.SetColumn(stack, 1); Content = grid; if (!offlineMode) { space = new SpaceDto(); connection.RegisterFor<SurfaceDto>(OnSurfaceReceived); connection.RegisterFor<BulbAddedDto>(OnBulbAdded); connection.RegisterFor<CurrentPositionDto>(OnCurrentPositionUpdated); Start(); } else { space = serializer.Deserialize<SpaceDto>( (byte[])Application.Current.Properties[nameof(SpaceDto)]); } }
public void SetConnection(ScannerConnection connection) => this.connection = connection;