Ejemplo n.º 1
0
        public void ConfigureServices(IServiceCollection services)
        {
            var web3ServiceProvider                  = new Web3ProviderService();
            var accountsService                      = new AccountsService(web3ServiceProvider);
            var newBlockProcessingService            = new NewBlockProcessingService(web3ServiceProvider);
            var toastsViewModel                      = new ToastsViewModel();
            var blocksViewModel                      = new BlocksViewModel(newBlockProcessingService);
            var latestBlockTransactionsViewModel     = new LatestBlockTransactionsViewModel(web3ServiceProvider);
            var newAccountPrivateKeyViewModel        = new NewAccountPrivateKeyViewModel();
            var accountsViewModel                    = new AccountsViewModel(accountsService, newAccountPrivateKeyViewModel);
            var accountsTransactionMonitoringService = new AccountsTransactionMonitoringService(accountsService, web3ServiceProvider);


            services.AddSingleton <IWeb3ProviderService, Web3ProviderService>((x) => web3ServiceProvider);
            services.AddSingleton <IAccountsService, AccountsService>((x) => accountsService);
            services.AddSingleton <NewBlockProcessingService>(newBlockProcessingService);
            services.AddSingleton <ToastsViewModel>(toastsViewModel);
            services.AddSingleton <BlocksViewModel>(blocksViewModel);
            services.AddSingleton <LatestBlockTransactionsViewModel>(latestBlockTransactionsViewModel);
            services.AddTransient <BlockTransactionsViewModel>();
            services.AddSingleton <AccountsViewModel>(accountsViewModel);
            services.AddSingleton <NewAccountPrivateKeyViewModel>(newAccountPrivateKeyViewModel);
            services.AddSingleton <SendTransactionViewModel>();
            services.AddSingleton <SendErc20TransactionViewModel>();
            services.AddSingleton(accountsTransactionMonitoringService);
            services.AddSingleton <TransactionWithReceiptViewModel>();

            services.AddFlexGrid(cfg =>
            {
                cfg.ApplyConfiguration(new TransactionsViewModelGridConfiguration());
            });

            services.AddSingleton <Web3UrlViewModel>();
            services.AddStorage();
        }
Ejemplo n.º 2
0
        private void OnMouseMove(object sender, MouseEventArgs e)
        {
            Vector           delta  = (e.GetPosition(Viewport) - oldMousePos);
            BlocksViewModel  vm     = (BlocksViewModel)((FrameworkElement)sender).DataContext; // TODO: Ugly dependency on the model here!
            ProjectionCamera camera = (ProjectionCamera)Viewport.Camera;
            Vector3D         left   = Vector3D.CrossProduct(camera.LookDirection, camera.UpDirection);

            left.Normalize();
            switch (cameraDragMode)
            {
            case CameraDragMode.Pan:
                delta *= 0.01;
                Vector3D deltaMove         = Vector3D.Add(left * -delta.X, camera.UpDirection * delta.Y);
                Point3D  newCameraPosition = vm.CameraPosition.Add(deltaMove);
                vm.CameraPosition = newCameraPosition;
                Point3D newCameraAimPoint = vm.CameraAimPoint.Add(deltaMove);
                vm.CameraAimPoint = newCameraAimPoint;
                break;

            case CameraDragMode.Rotate:
                delta *= 0.01;
                Vector3D v = vm.CameraAimPoint.VectorTo(vm.CameraPosition).Cartesian2Spherical();
                v.Y -= delta.X;
                v.Z -= delta.Y;
                vm.CameraPosition = vm.CameraAimPoint.Add(v.Spherical2Cartesian());
                break;
            }
            oldMousePos = e.GetPosition(Viewport);
        }
Ejemplo n.º 3
0
        public App(string[] args = null, IFileProvider fileProvider = null)
        {
            var hostBuilder = MobileBlazorBindingsHost.CreateDefaultBuilder()
                              .ConfigureServices((hostContext, services) =>
            {
                // Adds web-specific services such as NavigationManager
                services.AddBlazorHybrid();

                // Register app-specific services
                //services.AddSingleton<CounterState>();

                var web3ServiceProvider                  = new Web3ProviderService();
                var accountsService                      = new AccountsService(web3ServiceProvider);
                var newBlockProcessingService            = new NewBlockProcessingService(web3ServiceProvider);
                var toastsViewModel                      = new ToastsViewModel();
                var blocksViewModel                      = new BlocksViewModel(newBlockProcessingService);
                var latestBlockTransactionsViewModel     = new LatestBlockTransactionsViewModel(web3ServiceProvider);
                var newAccountPrivateKeyViewModel        = new NewAccountPrivateKeyViewModel();
                var accountsViewModel                    = new AccountsViewModel(accountsService, newAccountPrivateKeyViewModel);
                var accountsTransactionMonitoringService = new AccountsTransactionMonitoringService(accountsService, web3ServiceProvider);

                services.AddSingleton <IWeb3ProviderService, Web3ProviderService>((x) => web3ServiceProvider);
                services.AddSingleton <IAccountsService, AccountsService>((x) => accountsService);
                services.AddSingleton <NewBlockProcessingService>(newBlockProcessingService);
                services.AddSingleton <ToastsViewModel>(toastsViewModel);
                services.AddSingleton <BlocksViewModel>(blocksViewModel);
                services.AddSingleton <LatestBlockTransactionsViewModel>(latestBlockTransactionsViewModel);
                services.AddTransient <BlockTransactionsViewModel>();
                services.AddSingleton <AccountsViewModel>(accountsViewModel);
                services.AddSingleton <NewAccountPrivateKeyViewModel>(newAccountPrivateKeyViewModel);
                services.AddSingleton <SendTransactionViewModel>();
                services.AddSingleton <SendErc20TransactionViewModel>();
                services.AddSingleton(accountsTransactionMonitoringService);
                services.AddSingleton <TransactionWithReceiptViewModel>();
                services.AddSingleton <Web3UrlViewModel>();

                services.AddFlexGrid(cfg =>
                {
                    cfg.ApplyConfiguration(new TransactionsViewModelGridConfiguration());
                });
            })
                              .UseWebRoot("wwwroot");

            if (fileProvider != null)
            {
                hostBuilder.UseStaticFiles(fileProvider);
            }
            else
            {
                hostBuilder.UseStaticFiles();
            }
            var host = hostBuilder.Build();

            MainPage = new ContentPage();
            NavigationPage.SetHasNavigationBar(MainPage, false);
            host.AddComponent <Main>(parent: MainPage);
        }
Ejemplo n.º 4
0
        private void OnMouseWheel(object sender, MouseWheelEventArgs e)
        {
            double           delta             = e.Delta * 0.01;
            BlocksViewModel  vm                = (BlocksViewModel)((FrameworkElement)sender).DataContext; // TODO: Ugly dependency on the model here!
            ProjectionCamera camera            = (ProjectionCamera)Viewport.Camera;
            Vector3D         deltaMove         = camera.LookDirection * delta;
            Point3D          newCameraPosition = camera.Position.Add(deltaMove);

            camera.Position = newCameraPosition;
            Point3D newCameraAimPoint = vm.CameraAimPoint.Add(deltaMove);

            vm.CameraAimPoint = newCameraAimPoint;
        }
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();

            builder
            .RegisterBlazorMauiWebView()
            .UseMauiApp <App>()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
            });

            builder.Services.AddBlazorWebView();

            var services = builder.Services;

            var web3ServiceProvider                  = new Web3ProviderService();
            var accountsService                      = new AccountsService(web3ServiceProvider);
            var newBlockProcessingService            = new NewBlockProcessingService(web3ServiceProvider);
            var toastsViewModel                      = new ToastsViewModel();
            var blocksViewModel                      = new BlocksViewModel(newBlockProcessingService);
            var latestBlockTransactionsViewModel     = new LatestBlockTransactionsViewModel(web3ServiceProvider);
            var newAccountPrivateKeyViewModel        = new NewAccountPrivateKeyViewModel();
            var accountsViewModel                    = new AccountsViewModel(accountsService, newAccountPrivateKeyViewModel);
            var accountsTransactionMonitoringService = new AccountsTransactionMonitoringService(accountsService, web3ServiceProvider);

            services.AddSingleton <IWeb3ProviderService, Web3ProviderService>((x) => web3ServiceProvider);
            services.AddSingleton <IAccountsService, AccountsService>((x) => accountsService);
            services.AddSingleton <NewBlockProcessingService>(newBlockProcessingService);
            services.AddSingleton <ToastsViewModel>(toastsViewModel);
            services.AddSingleton <BlocksViewModel>(blocksViewModel);
            services.AddSingleton <LatestBlockTransactionsViewModel>(latestBlockTransactionsViewModel);
            services.AddTransient <BlockTransactionsViewModel>();
            services.AddSingleton <AccountsViewModel>(accountsViewModel);
            services.AddSingleton <NewAccountPrivateKeyViewModel>(newAccountPrivateKeyViewModel);
            services.AddSingleton <SendTransactionViewModel>();
            services.AddSingleton <SendErc20TransactionViewModel>();
            services.AddSingleton(accountsTransactionMonitoringService);
            services.AddSingleton <TransactionWithReceiptViewModel>();
            services.AddSingleton <Web3UrlViewModel>();


            services.AddFlexGrid(cfg =>
            {
                cfg.ApplyConfiguration(new TransactionsViewModelGridConfiguration());
            });

            return(builder.Build());
        }
Ejemplo n.º 6
0
 private void TestHit(Point screenPos)
 {
     VisualTreeHelper.HitTest(Viewport, null, result =>
     {
         if (result is RayMeshGeometry3DHitTestResult rayHitResult)
         {
             if (rayHitResult.ModelHit is GeometryModel3D model)
             {
                 BlocksViewModel vm = (BlocksViewModel)DataContext; // TODO: Ugly dependency on the model here!
                 vm.GeometryModelClicked(model);
             }
             return(HitTestResultBehavior.Stop);
         }
         return(HitTestResultBehavior.Continue);
     }, new PointHitTestParameters(screenPos));
 }
Ejemplo n.º 7
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
            services.AddServerSideBlazor();

            //NOTE: Server side singleton, just for local usage and sample, you would not want to use the Account services in server mode
            /// use the Metamask integration in other templates

            var web3ServiceProvider                  = new Web3ProviderService();
            var accountsService                      = new AccountsService(web3ServiceProvider);
            var newBlockProcessingService            = new NewBlockProcessingService(web3ServiceProvider);
            var toastsViewModel                      = new ToastsViewModel();
            var blocksViewModel                      = new BlocksViewModel(newBlockProcessingService);
            var latestBlockTransactionsViewModel     = new LatestBlockTransactionsViewModel(web3ServiceProvider);
            var newAccountPrivateKeyViewModel        = new NewAccountPrivateKeyViewModel();
            var accountsViewModel                    = new AccountsViewModel(accountsService, newAccountPrivateKeyViewModel);
            var accountsTransactionMonitoringService = new AccountsTransactionMonitoringService(accountsService, web3ServiceProvider);

            services.AddSingleton <IWeb3ProviderService, Web3ProviderService>((x) => web3ServiceProvider);
            services.AddSingleton <IAccountsService, AccountsService>((x) => accountsService);
            services.AddSingleton <NewBlockProcessingService>(newBlockProcessingService);
            services.AddSingleton <ToastsViewModel>(toastsViewModel);
            services.AddSingleton <BlocksViewModel>(blocksViewModel);
            services.AddSingleton <LatestBlockTransactionsViewModel>(latestBlockTransactionsViewModel);
            services.AddTransient <BlockTransactionsViewModel>();
            services.AddSingleton <AccountsViewModel>(accountsViewModel);
            services.AddSingleton <NewAccountPrivateKeyViewModel>(newAccountPrivateKeyViewModel);
            services.AddSingleton <SendTransactionViewModel>();
            services.AddSingleton <SendErc20TransactionViewModel>();
            services.AddSingleton(accountsTransactionMonitoringService);
            services.AddSingleton <TransactionWithReceiptViewModel>();

            services.AddFlexGridServerSide(cfg =>
            {
                cfg.ApplyConfiguration(new TransactionsViewModelGridConfiguration());
            });

            services.AddSingleton <Web3UrlViewModel>();
        }
Ejemplo n.º 8
0
 public BlockList()
 {
     InitializeComponent();
     Vm             = new BlocksViewModel();
     BindingContext = Vm;
 }