示例#1
0
文件: MainPage.cs 项目: elix22/urho
        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)]);
            }
        }
示例#2
0
        public MainPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);

            Grid 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;

            ScannerConnection.RegisterFor <SurfaceDto>(OnSurfaceReceived);
            ScannerConnection.RegisterFor <BulbAddedDto>(OnBulbAdded);
            ScannerConnection.RegisterFor <CurrentPositionDto>(OnCurrentPositionUpdated);
        }