public MainWindow(IEventAggregator eventAggregator)
        {
            websocketInstance = WebSocketSingleton.GetInstance();
            websocketInstance.start();
            websocketInstance.pageCommandHandle += new WebSocketSingleton.SocketPageCommandHandleEvent(webSocketPageCommandEvents);

            InitializeComponent();
            mEventAggregator = eventAggregator;
            ImageSourceConverter imageConveter = new ImageSourceConverter();
            NavigationManager    manager       = new NavigationManager();

            AppData.CurrentIDCard = new IDCard
            {
                Name        = "屈乐",
                Sex         = "男",
                Nationality = "汉",
                Address     = "江苏省无锡市新区长江路111号",
                BirthDay    = "19891014",
                IDNumber    = "120103196007222159",
                Phone       = "15895326302",
                HeadImage   = (BitmapSource)imageConveter.ConvertFrom("屈乐.bmp")
            };
            this.Loaded += MainWindow_Loaded;
            mEventAggregator.GetEvent <WebErrorEvent>().Subscribe(OnWebError);
        }
Exemple #2
0
        public A3()
        {
            InitializeComponent();

            WebSocketSingleton websocketInstance = WebSocketSingleton.GetInstance();

            this.Loaded += (s, e) =>
            {
                cardReader           = new IDCardReader();
                cardReader.CardRead += CardReader_CardRead;
                cardReader.Start();

                var loadingAnimation = FindResource("A3Storyboard1") as Storyboard;
                //loadingAnimation.Completed += (ss, ee) =>
                //{
                //    (Parent as NavigationManager).GoToPage(typeof(Dashboard));
                //};
                loadingAnimation.Begin();
            };
            this.Unloaded += (s, e) =>
            {
                cardReader.CardRead -= CardReader_CardRead;
            };

            // (Parent as NavigationManager).SimulateImageClick(jiantou1_png, ImageOnClick);
        }
Exemple #3
0
 public override void Evaluate(Context context)
 {
     if (context.author.Equals(context.lobbyController.PlayerHost))
     {
         WebSocketSingleton.GetInstance().RemovePlayer(context.message);
     }
 }
Exemple #4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            /*
             * Reference: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.0
             */

            app.UseWebSockets();
            app.Use(async(context, next) =>
            {
                if (context.Request.Path == "/ws")
                {
                    if (context.WebSockets.IsWebSocketRequest)
                    {
                        WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();
                        await WebSocketSingleton.GetInstance().HandleWebSocketAsync(webSocket);
                        // await Echo(context, webSocket);
                    }
                    else
                    {
                        context.Response.StatusCode = 400;
                    }
                }
                else
                {
                    await next();
                }
            });
            app.UseMvc();
        }
 public bool RemovePlayer(string player)
 {
     if (player == PlayerHost)
     {
         PlayerHost = _pendingMoves.Keys.Where(x => x != PlayerHost).SingleOrDefault();
     }
     if (_pendingMoves.Remove(player) & _gameController.RemovePlayer(player))
     {
         var newPlayerList = new PlayerList(_pendingMoves.Keys.ToList());
         WebSocketSingleton.GetInstance().SendMessageToAllPlayers(JSONSerialization.Serialize(newPlayerList));
         return(true);
     }
     return(false);
 }
Exemple #6
0
        public MainWindow(IEventAggregator eventAggregator)
        {
            websocketInstance = WebSocketSingleton.GetInstance();
            websocketInstance.start();
            websocketInstance.pageCommandHandle  += new WebSocketSingleton.SocketPageCommandHandleEvent(webSocketPageCommandEvents);
            websocketInstance.connectCloseHandle += new WebSocketSingleton.SocketConnectCloseHandleEvent(webSocketConnectClose);

            InitializeComponent();
            mEventAggregator = eventAggregator;
            ImageSourceConverter imageConveter = new ImageSourceConverter();
            NavigationManager    manager       = new NavigationManager();

            Uri riskImageUri = null;

            String riskImagePath = "pack://application:,,,/屈乐.bmp";
            bool   imageExist;

            imageExist = System.IO.File.Exists(riskImagePath);

            riskImageUri = new Uri(riskImagePath);

            BitmapImage bi3 = new BitmapImage();

            bi3.BeginInit();
            bi3.UriSource = riskImageUri;
            bi3.EndInit();

            try
            {
                //AppData.CurrentIDCard = new IDCard
                //{
                //    Name = "屈乐",
                //    Sex = "男",
                //    Nationality = "汉",
                //    Address = "江苏省无锡市新区长江路111号",
                //    BirthDay = "19891014",
                //    IDNumber = "120103196007222159",
                //    Phone = "15895326302",
                //    HeadImage = bi3//(BitmapSource)imageConveter.ConvertFrom("屈乐.bmp")
                //};
            }
            catch (Exception)
            {
                Console.WriteLine("Error Happen ");
            }

            this.Loaded += MainWindow_Loaded;
            mEventAggregator.GetEvent <WebErrorEvent>().Subscribe(OnWebError);
        }
 public bool AddPlayer(string player)
 {
     if (_pendingMoves.Count == 0)
     {
         PlayerHost = player;
     }
     if (_pendingMoves.TryAdd(player, new PlayerMove()) &&
         _gameController.AddPlayer(player))
     {
         var newPlayerList = new PlayerList(_pendingMoves.Keys.ToList());
         WebSocketSingleton.GetInstance().SendMessageToAllPlayers(JSONSerialization.Serialize(newPlayerList));
         return(true);
     }
     return(false);
 }
Exemple #8
0
        public UserInfoEdit()
        {
            InitializeComponent();

            WebSocketSingleton websocketInstance = WebSocketSingleton.GetInstance();

            this.Loaded += (s, e) =>
            {
                var loadingAnimation = FindResource("A3Storyboard1") as Storyboard;
                loadingAnimation.Begin();
            };
            this.Unloaded += (s, e) =>
            {
            };
        }
        public void OnTimedUpdate(object source, ElapsedEventArgs e)
        {
            if (_gameController.IsGameEnd())
            {
                OnGameEnd();
                return;
            }

            var newGameState = _gameController.UpdateGameState(_pendingMoves);

            // Clear pending actions
            foreach (var player in _pendingMoves.Keys.ToList())
            {
                _pendingMoves[player] = new PlayerMove(); //Enums.PlayerAction.None;
            }
            // Send new game state to all players.
            WebSocketSingleton.GetInstance().SendMessageToAllPlayers(JSONSerialization.Serialize(newGameState));
        }
Exemple #10
0
        public A3()
        {
            InitializeComponent();

            WebSocketSingleton websocketInstance = WebSocketSingleton.GetInstance();

            this.Loaded += (s, e) =>
            {
                var loadingAnimation = FindResource("A3Storyboard1") as Storyboard;
                loadingAnimation.Begin();

                cardReader           = new IDCardReader();
                cardReader.CardRead += CardReader_CardRead;
                cardReader.Start();
            };
            this.Unloaded += (s, e) =>
            {
                cardReader.CardRead -= CardReader_CardRead;
                cardReader.Dispose();
            };
        }
 protected override void NotifyOthersAboutGameEnd()
 {
     _gameController.OnGameEnd();
     WebSocketSingleton.GetInstance().SendMessageToAllPlayers(StringLiterals.EndGame);
 }