示例#1
0
        public void LoginSuccess()
        {
            PlayerWindow playerWindow = new PlayerWindow();

            playerWindow.Loaded += PlayerWindow_Loaded;
            playerWindow.Show();
        }
 /// <summary>
 /// 追踪
 /// </summary>
 /// <param name="obj"></param>
 private void Track(object obj)
 {
     if (GlobalVariable.PlayerWindowIsOpened == false)
     {
         PlayerWindow newWin = new PlayerWindow(PlayerWindowType.Track);
         newWin.Topmost = true;
         newWin.WindowStartupLocation = WindowStartupLocation.Manual;
         newWin.Left = 23;
         newWin.Top  = 165;
         newWin.Show();
         GlobalVariable.PlayerWindowIsOpened = true;
     }
     else
     {
         PlayerWindow w = (PlayerWindow)obj;
         w.Close();
         PlayerWindow newWin = new PlayerWindow(PlayerWindowType.Track);
         newWin.Topmost = true;
         newWin.WindowStartupLocation = WindowStartupLocation.Manual;
         newWin.Left = 23;
         newWin.Top  = 165;
         newWin.Show();
         GlobalVariable.PlayerWindowIsOpened = true;
     }
 }
示例#3
0
        private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
        {
            var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();

            if (selectedDeck == null)
            {
                return;
            }
            Logger.WriteLine("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo(), "Screenshot");
            var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());

            screenShotWindow.Show();
            screenShotWindow.Top  = 0;
            screenShotWindow.Left = 0;
            await Task.Delay(100);

            var source = PresentationSource.FromVisual(screenShotWindow);

            if (source == null)
            {
                return;
            }

            //adjusting the DPI is apparently no longer/not necessary?
            var dpiX = 96.0;             //* source.CompositionTarget.TransformToDevice.M11;
            var dpiY = 96.0;             //* source.CompositionTarget.TransformToDevice.M22;

            var deck       = selectedDeck.GetSelectedDeckVersion();
            var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer, 96, 96, deck.Name);

            screenShotWindow.Shutdown();
            SaveOrUploadScreenshot(pngEncoder, deck.Name);
        }
示例#4
0
        private void Player_Clicked(object sender, RoutedEventArgs e)
        {
            this.Hide();
            PlayerWindow playerWindow = new PlayerWindow(this);

            playerWindow.Show();
        }
示例#5
0
        private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
        {
            var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();

            if (selectedDeck == null)
            {
                return;
            }
            Log.Info("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo());
            var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());

            screenShotWindow.Show();
            screenShotWindow.Top  = 0;
            screenShotWindow.Left = 0;
            await Task.Delay(100);

            var source = PresentationSource.FromVisual(screenShotWindow);

            if (source == null)
            {
                return;
            }

            var deck       = selectedDeck.GetSelectedDeckVersion();
            var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer.ItemsControl, 96, 96, deck.Name);

            screenShotWindow.Shutdown();
            await SaveOrUploadScreenshot(pngEncoder, deck.Name);
        }
示例#6
0
 public GameObject player;                                           //需要显示的玩家
 // Start is called before the first frame update
 void Start()
 {
     mainUI       = GetComponent <UIPanel>().ui;
     playerWindow = new PlayerWindow(player);
     //对玩家头像按钮添加监听事件,显示玩家状态
     mainUI.GetChild("n0").onClick.Add(() => { playerWindow.Show(); });
 }
示例#7
0
        private async void b_login_Click(object sender, RoutedEventArgs e)
        {
            // TODO : READ WHAT TYPE OF THE USER IS THE PERSON LOGIN IN

            /**
             * Kinda cheating here
             * Getting the current executing main window and revert it to original state
             * Then we hide the main window and open the new login window
             */
            string dir = Directory.GetCurrentDirectory() + "\\Data\\users.json";
            List <UserTemplate> allUsers;

            using (var streamReader = new StreamReader(dir))
                using (JsonReader reader = new JsonTextReader(streamReader))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    allUsers = serializer.Deserialize <List <UserTemplate> >(reader);
                }
            UserTemplate authUser = null;

            allUsers.ForEach(delegate(UserTemplate user)
            {
                if (tb_username.Text == user.username)
                {
                    if (pb_password.Password == user.password)
                    {
                        authUser = user;
                    }
                }
            });
            MainWindow   mainWindow;
            PlayerWindow n_window;

            if (authUser != null)
            {
                //TODO Check Role
                mainWindow = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault();
                mainWindow.hideBackButton();
                NavigationService.GoBack();
                n_window = new PlayerWindow(authUser);
                n_window.Show();
                mainWindow.Hide();
            }
            else
            {
                var metroWindow = (Application.Current.MainWindow as MetroWindow);
                await metroWindow.ShowMessageAsync("Login Failed", "Wrong Username and/or Password", MessageDialogStyle.Affirmative);

                br_un.Background   = new SolidColorBrush(Colors.Red);
                br_pass.Background = new SolidColorBrush(Colors.Red);
            }
        }
 private void Button2_Click(object sender, RoutedEventArgs e)
 {
     if (GlobalVariable.PlayerWindowIsOpened == false)
     {
         PlayerWindow newwindow = new PlayerWindow(PlayerWindowType.Track);
         newwindow.Topmost = true;
         newwindow.WindowStartupLocation = WindowStartupLocation.Manual;
         newwindow.Left = 23;
         newwindow.Top  = 165;
         newwindow.Show();
         GlobalVariable.PlayerWindowIsOpened = true;
     }
 }
示例#9
0
        private void PlayerButton_Event(object sender, RoutedEventArgs e)
        {
            string path = this.getScensXml();

            if (path == "nofile")
            {
                return;
            }
            PlayerWindow playerWindow = new PlayerWindow(path);

            playerWindow.Background  = Brushes.Black;
            playerWindow.WindowStyle = WindowStyle.None;
            playerWindow.WindowState = WindowState.Maximized;
            playerWindow.Show();
        }
示例#10
0
    public MainWindow()
    {
        //we create the first window
        PlayerWindow w1 = new PlayerWindow();

        //hook to the event
        w1.UserClickedButton += Player1Clicked;

        //same for player 2
        PlayerWindow w2 = new PlayerWindow();

        w2.UserClickedButton += Player2Clicked;
        //open the created windows
        w1.Show();
        w2.Show();
    }
示例#11
0
        private async void b_register_Click(object sender, RoutedEventArgs e)
        {
            if (Role == "Fan")
            {
                var metroWindow = (Application.Current.MainWindow as MetroWindow);
                await metroWindow.ShowMessageAsync("Register Failed", "The Fan functionality is not yet available. We'll message when it is", MessageDialogStyle.Affirmative);

                return;
            }
            // Create a new user and generate data.
            UserGenerator newUser = new UserGenerator(tb_username.Text, pb_password.Password, Role);

            newUser.generate();

            // Read from user DB and add new user to the db
            string dir = Directory.GetCurrentDirectory() + "\\Data\\users.json";
            List <UserTemplate> allUsers;

            using (var streamReader = new StreamReader(dir))
                using (JsonReader reader = new JsonTextReader(streamReader))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    allUsers = serializer.Deserialize <List <UserTemplate> >(reader);
                }
            allUsers.Add(newUser.getUser());
            string json = JsonConvert.SerializeObject(allUsers, Formatting.Indented);

            // Write to resource and to file on PC, ON RELEASE DELETE SYSTEM.IO LINE
            using (var streamWriter = new StreamWriter(dir))
            {
                streamWriter.Write(json);
            }
            System.IO.File.WriteAllText(System.AppDomain.CurrentDomain.BaseDirectory + "../../Data/users.json", json);

            //Redirect
            var mainWindow = Application.Current.Windows.OfType <MainWindow>().FirstOrDefault();

            mainWindow.hideBackButton();
            NavigationService.GoBack();
            NavigationService.GoBack();
            if (Role == "Player")
            {
                PlayerWindow n_window = new PlayerWindow(newUser.getUser());
                n_window.Show();
            }
            mainWindow.Hide();
        }
		private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
		{
			var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();
			if(selectedDeck == null)
				return;
			Logger.WriteLine("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo(), "Screenshot");
			var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());
			screenShotWindow.Show();
			screenShotWindow.Top = 0;
			screenShotWindow.Left = 0;
			await Task.Delay(100);
			var source = PresentationSource.FromVisual(screenShotWindow);
			if(source == null)
				return;

			var deck = selectedDeck.GetSelectedDeckVersion();
			var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer, 96, 96, deck.Name);
			screenShotWindow.Shutdown();
			await SaveOrUploadScreenshot(pngEncoder, deck.Name);
		}
		private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
		{
			var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();
			if(selectedDeck == null)
				return;
			Logger.WriteLine("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo(), "Screenshot");
			var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());
			screenShotWindow.Show();
			screenShotWindow.Top = 0;
			screenShotWindow.Left = 0;
			await Task.Delay(100);
			var source = PresentationSource.FromVisual(screenShotWindow);
			if(source == null)
				return;

			//adjusting the DPI is apparently no longer/not necessary?
			var dpiX = 96.0; //* source.CompositionTarget.TransformToDevice.M11;
			var dpiY = 96.0; //* source.CompositionTarget.TransformToDevice.M22;

			var deck = selectedDeck.GetSelectedDeckVersion();
			var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer, 96, 96, deck.Name);
			screenShotWindow.Shutdown();
			SaveOrUploadScreenshot(pngEncoder, deck.Name);
		}
		private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
		{
			var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();
			if(selectedDeck == null)
				return;
			Logger.WriteLine("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo(), "Screenshot");
			var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());
			screenShotWindow.Show();
			screenShotWindow.Top = 0;
			screenShotWindow.Left = 0;
			await Task.Delay(100);
			var source = PresentationSource.FromVisual(screenShotWindow);
			if(source == null)
				return;

			//adjusting the DPI is apparently no longer/not necessary?
			var dpiX = 96.0; //* source.CompositionTarget.TransformToDevice.M11;
			var dpiY = 96.0; //* source.CompositionTarget.TransformToDevice.M22;

			var deck = selectedDeck.GetSelectedDeckVersion();
			var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer, 96, 96, deck.Name);
			screenShotWindow.Shutdown();

			if(pngEncoder != null)
			{
				var saveOperation = await this.ShowScreenshotUploadSelectionDialog();
				var tmpFile = new FileInfo(Path.Combine(Config.Instance.DataDir, string.Format("tmp{0}.png", DateTime.Now.ToFileTime())));
				var fileName = saveOperation.SaveLocal
					               ? Helper.ShowSaveFileDialog(Helper.RemoveInvalidFileNameChars(deck.Name), "png") : tmpFile.FullName;
				if(fileName != null)
				{
					string imgurUrl = null;
					using(var ms = new MemoryStream())
					using(var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
					{
						pngEncoder.Save(ms);
						ms.WriteTo(fs);
						if(saveOperation.Upload)
						{
							var controller = await this.ShowProgressAsync("Uploading...", "");
							imgurUrl = await Imgur.Upload(Config.Instance.ImgurClientId, ms, deck.Name);
							await controller.CloseAsync();
						}
					}

					if(imgurUrl != null)
					{
						await this.ShowSavedAndUploadedFileMessage(saveOperation.SaveLocal ? fileName : null, imgurUrl);
						Logger.WriteLine("Uploaded screenshot to " + imgurUrl, "Export");
					}
					else
						await this.ShowSavedFileMessage(fileName);
					Logger.WriteLine("Saved screenshot of " + deck.GetDeckInfo() + " to file: " + fileName, "Export");
				}
				if(tmpFile.Exists)
				{
					try
					{
						tmpFile.Delete();
					}
					catch(Exception ex)
					{
						Logger.WriteLine(ex.ToString(), "ExportScreenshot");
					}
				}
			}
		}
示例#15
0
        private async void BtnScreenhot_Click(object sender, RoutedEventArgs e)
        {
            var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();

            if (selectedDeck == null)
            {
                return;
            }
            Logger.WriteLine("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo(), "Screenshot");
            var screenShotWindow = new PlayerWindow(Core.Game, selectedDeck.GetSelectedDeckVersion().Cards.ToSortedCardList());

            screenShotWindow.Show();
            screenShotWindow.Top  = 0;
            screenShotWindow.Left = 0;
            await Task.Delay(100);

            var source = PresentationSource.FromVisual(screenShotWindow);

            if (source == null)
            {
                return;
            }

            //adjusting the DPI is apparently no longer/not necessary?
            var dpiX = 96.0;             //* source.CompositionTarget.TransformToDevice.M11;
            var dpiY = 96.0;             //* source.CompositionTarget.TransformToDevice.M22;

            var deck       = selectedDeck.GetSelectedDeckVersion();
            var pngEncoder = Helper.ScreenshotDeck(screenShotWindow.ListViewPlayer, 96, 96, deck.Name);

            screenShotWindow.Shutdown();

            if (pngEncoder != null)
            {
                var saveOperation = await this.ShowScreenshotUploadSelectionDialog();

                var tmpFile  = new FileInfo(Path.Combine(Config.Instance.DataDir, string.Format("tmp{0}.png", DateTime.Now.ToFileTime())));
                var fileName = saveOperation.SaveLocal
                                                       ? Helper.ShowSaveFileDialog(Helper.RemoveInvalidFileNameChars(deck.Name), "png") : tmpFile.FullName;
                if (fileName != null)
                {
                    string imgurUrl = null;
                    using (var ms = new MemoryStream())
                        using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
                        {
                            pngEncoder.Save(ms);
                            ms.WriteTo(fs);
                            if (saveOperation.Upload)
                            {
                                var controller = await this.ShowProgressAsync("Uploading...", "");

                                imgurUrl = await Imgur.Upload(Config.Instance.ImgurClientId, ms, deck.Name);

                                await controller.CloseAsync();
                            }
                        }

                    if (imgurUrl != null)
                    {
                        await this.ShowSavedAndUploadedFileMessage(saveOperation.SaveLocal?fileName : null, imgurUrl);

                        Logger.WriteLine("Uploaded screenshot to " + imgurUrl, "Export");
                    }
                    else
                    {
                        await this.ShowSavedFileMessage(fileName);
                    }
                    Logger.WriteLine("Saved screenshot of " + deck.GetDeckInfo() + " to file: " + fileName, "Export");
                }
                if (tmpFile.Exists)
                {
                    try
                    {
                        tmpFile.Delete();
                    }
                    catch (Exception ex)
                    {
                        Logger.WriteLine(ex.ToString(), "ExportScreenshot");
                    }
                }
            }
        }