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(); }); }
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 void Player_Clicked(object sender, RoutedEventArgs e) { this.Hide(); PlayerWindow playerWindow = new PlayerWindow(this); playerWindow.Show(); }
/// <summary> /// Responsible for creating a new player. /// </summary> public void NewPlayer() { if (playerWindow == null) { playerWindow = PlayerWindow.instance; } // LEVEL SYSTEM levelSystem = new LevelSystem(1, 0); levelSystemAnimation = new LevelSystemAnimation(levelSystem); playerWindow.SetLevelSystemAnimation(levelSystemAnimation); SetLevelSystemAnimation(levelSystemAnimation); // HEALTH SYSTEM healthSystem = new HealthSystem(levelSystem.GetLevelNumber(), 0); healthSystemAnimation = new HealthSystemAnimation(healthSystem); playerWindow.SetHealthSystemAnimation(healthSystemAnimation); SetHealthSystemAnimation(healthSystemAnimation); // UPDATE UI UpdateUI(); }
public InterfaceController(Plugin plugin) { var plugin1 = plugin; _player = new PlayerWindow(plugin1); _settings = new SettingsWindow(plugin1); }
/// <summary> /// Funkcja służąca do wyboru użytkownika w grze. Wyświetla nowe okno z polem wyboru użytkownika. /// </summary> private void ChooseAPlayer() { PlayerWindow choosePlayer = new PlayerWindow(_userCollection); choosePlayer.ShowDialog(); UserName = choosePlayer.User; }
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); }
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; } }
CharacterController2D characterController; // reference to the character controller component on the player // Start is called before the first frame update void Start() { playerTransform = GetComponent <Transform>(); characterController = GetComponent <CharacterController2D>(); playerWindow = PlayerWindow.instance; EquipmentManager.instance.onEquipmentChanged += OnEquipmentChanged; }
public void Leave() { m_PlayerWindow = null; m_WeaponButton.onClick.RemoveListener(OnClickWeapon); m_ChapterButton.onClick.RemoveListener(OnClickChapter); m_RolesButton.onClick.RemoveListener(OnClickRoles); }
public void InitPlayerData(PlayerWindow _window) { m_PlayerWindow = _window; m_WeaponButton.onClick.AddListener(OnClickWeapon); m_ChapterButton.onClick.AddListener(OnClickChapter); m_RolesButton.onClick.AddListener(OnClickRoles); }
public void InitRoles(PlayerWindow _window, CadeDate _data, List <RolesCellData> _cadeList) { m_PlayerWindow = _window; int kCellH = (int)_data.m_Height + (int)_data.m_Gap; m_PlayerWindow.GetCtrl <ScrollViewController>().ShowCade(m_Content, kCellH, _data.m_Path, _cadeList.Count, m_RoleCadeList); InitCell(_cadeList); m_BackButton.onClick.AddListener(OnClickBack); }
public static void InitGUI() { chapterWindow = new ChapterWindow(windowRect, new GUIContent(TC.get("Element.Name0")), "Window"); scenesWindow = new ScenesWindow(windowRect, new GUIContent(TC.get("Element.Name1")), "Window"); cutscenesWindow = new CutscenesWindow(windowRect, new GUIContent(TC.get("Element.Name9")), "Window"); booksWindow = new BooksWindow(windowRect, new GUIContent(TC.get("Element.Name11")), "Window"); itemsWindow = new ItemsWindow(windowRect, new GUIContent(TC.get("Element.Name18")), "Window"); setItemsWindow = new SetItemsWindow(windowRect, new GUIContent(TC.get("Element.Name59")), "Window"); playerWindow = new PlayerWindow(windowRect, new GUIContent(TC.get("Element.Name26")), "Window"); characterWindow = new CharactersWindow(windowRect, new GUIContent(TC.get("Element.Name27")), "Window"); conversationWindow = new ConversationWindow(windowRect, new GUIContent(TC.get("Element.Name31")), "Window"); advencedFeaturesWindow = new AdvencedFeaturesWindow(windowRect, new GUIContent(TC.get("AdvancedFeatures.Title")), "Window"); //adapatationProfileWindow = new AdaptationProfileWindow(windowRect, // new GUIContent(Language.GetText("ADAPTATION_PROFILES")), "Window"); //assesmentProfileWindow = new AssesmentProfileWindow(windowRect, // new GUIContent(Language.GetText("ASSESMENT_PROFILES")), "Window"); // Left menu buttons leftMenuContentScene = new GUIContent(); leftMenuContentScene.image = (Texture2D)sceneTexture; leftMenuContentScene.text = TC.get("Element.Name1"); leftMenuContentCutscene = new GUIContent(); leftMenuContentCutscene.image = (Texture2D)cutsceneTexture; leftMenuContentCutscene.text = TC.get("Element.Name9"); leftMenuContentBook = new GUIContent(); leftMenuContentBook.image = (Texture2D)bookTexture; leftMenuContentBook.text = TC.get("Element.Name11"); leftMenuContentItem = new GUIContent(); leftMenuContentItem.image = (Texture2D)itemTexture; leftMenuContentItem.text = TC.get("Element.Name18"); leftMenuContentSetItem = new GUIContent(); leftMenuContentSetItem.image = (Texture2D)setItemTexture; leftMenuContentSetItem.text = TC.get("Element.Name59"); leftMenuContentPlayer = new GUIContent(); leftMenuContentPlayer.image = (Texture2D)playerTexture; leftMenuContentPlayer.text = TC.get("Element.Name26"); leftMenuContentCharacter = new GUIContent(); leftMenuContentCharacter.image = (Texture2D)characterTexture; leftMenuContentCharacter.text = TC.get("Element.Name27"); leftMenuContentConversation = new GUIContent(); leftMenuContentConversation.image = (Texture2D)conversationTexture; leftMenuContentConversation.text = TC.get("Element.Name31"); leftMenuContentAdvanced = new GUIContent(); leftMenuContentAdvanced.image = (Texture2D)advancedTexture; leftMenuContentAdvanced.text = TC.get("AdvancedFeatures.Title"); }
void Start() { ID = 5; playerWindow = transform.parent.GetComponent <PlayerWindow>(); childimage = gameObject.transform.GetChild(0).GetComponent <Image>(); trans = GetComponent <RectTransform>(); MaxSize = trans.sizeDelta; trans.localScale = Vector3.zero; transSize = Vector3.zero; timer = 0; state = (No == 1)?STATUS.INIT:STATUS.NONE; }
public MediaElementPlaybackControl(PlayerWindow window) { this.window = window; this.mediaElement = window.MediaElement; this.startTime = DateTimeOffset.UtcNow; this.window.ShowProgressBar.Minimum = 0; this.window.ShowProgressBar.Maximum = 100D; this.mediaElement.MediaOpened += MediaElement_MediaOpened; }
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 MaxWin(object obj) { PlayerWindow w = (PlayerWindow)obj; if (w.WindowState == WindowState.Normal) { w.WindowState = WindowState.Maximized; } else { w.WindowState = WindowState.Normal; } }
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; } }
void Awake() { if (instance == null) { instance = this; } else { Destroy(this); } player = Player.instance; }
bool isAbleToPass = false; //パスの許可 private void Awake() { //ゲームオブジェクトの設定 { yh = yh_.GetComponent <YourHand>(); oh = oh_.GetComponent <OpponentHand>(); mf = mf_.GetComponent <FieldBase>(); of = of_.GetComponent <FieldBase>(); sf = sf_.GetComponent <FieldBase>(); mc = mc_.GetComponent <CharacterBase>(); oc = oc_.GetComponent <CharacterBase>(); cw = cw_.GetComponent <CardWindow>(); pw = pw_.GetComponent <PlayerWindow>(); sv = sv_.GetComponent <SubView>(); log = log_.GetComponent <LogView>(); isReady = false; } //デッキを作る { var g = new List <int> { 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15 }; var b = new List <int> { 3, 3, 15, 15, 15, }; deck = new Deck() { //自機の設定 character = 0000001, grimoir = g, bookmark = b }; } }
public LogParser(PlayerWindow user, PlayerWindow opponent) { this.user = user; this.opponent = opponent; this.log_folder = String.Concat(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Low\CDProjektRED\Gwent\"); last_log_length = 0; //Thread log_parser = new Thread(new ThreadStart(CheckLogChange)); Timer timer = new Timer(1000); timer.Elapsed += CheckLogChange; timer.Start(); }
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(); }
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(); }
public Form1() { this.Visible = false; InitializeComponent(); playlistWindow = new PlaylistWindow(); playerWindow = new PlayerWindow(); playlistWindow.Visible = false; playerWindow.Visible = true; playerWindow._playlistWindow = playlistWindow; playlistWindow._playerWindow = playerWindow; playerWindow.SetSubscription(); playlistWindow.SetSubscription(); playlistWindow.ControlBox = false; playlistWindow.FormBorderStyle = FormBorderStyle.FixedSingle; playerWindow.FormBorderStyle = FormBorderStyle.FixedSingle; }
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(); }
public MainWindow() { InitializeComponent(); //create but hide the extra windows so that their state is always persistent if opened //they can be toggled on by clicking their button and close will be overridden to hide and not delete _settingsWindow = new SettingsWindow(); _toolsWindow = new ToolsWindow(); _playerWindow = new PlayerWindow(); _settingsWindow.Hide(); _toolsWindow.Hide(); _playerWindow.Hide(); // ReSharper disable once InconsistentNaming bool validDB = false; try { validDB = DatabaseStorage.InitDatabase(); } catch (Exception e) { Debug.Print(e.Message); Close(); } var names = DatabaseStorage.GetAllShowNames(); foreach (var name in names) { try { var showCard = new ShowCard(name, this); Wrapper.Children.Add(showCard); showCard.Width = 75; showCard.Height = 75; showCard.Background = Brushes.Green; showCard.Margin = new Thickness(10, 10, 10, 10); } catch (Exception e) { Debug.Print(e.Message); } } }
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); }
public WindowsManager(MenuWindow menu, PlayerWindow user, PlayerWindow opponent) { this.menu = menu; this.user = user; this.opponent = opponent; windows = new Window[3] { menu, user, opponent }; foreach (Window w in windows) { w.Topmost = true; w.Top = 0; } settings.Add(menu, new WindowSettings()); settings.Add(user, new WindowSettings()); settings.Add(opponent, new WindowSettings()); Thread windows_manager = new Thread(new ThreadStart(ManagerThread)); windows_manager.IsBackground = true; windows_manager.Start(); }
public void OnElementChanged(IElement newElem, IControlHtml ctrlHtml) { // PlayerWindow?.CancelSave(); if (newElem == null) { return; } if (LastElement?.ElementId == newElem.Id) { return; } var html = ctrlHtml?.Text ?? string.Empty; var ytEl = newElem.Type == ElementType.Topic ? YouTubeMediaElement.TryReadElement(html, newElem.Id) : null; bool noNewElem = ytEl == null; bool noLastElem = LastElement == null || (Svc.SM.Registry.Element[LastElement.ElementId]?.Deleted ?? true); if (noNewElem && noLastElem) { return; } bool close = LastElement != null && ytEl == null; CloseElement(); OpenElement(ytEl, newElem.Id); if (close) { PlayerWindow?.Close(); } }
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); }
// Receive data private void ReceiveCallback(IAsyncResult ar) { Socket socket = ar.AsyncState as Socket; if (socket.Connected) { int received; try { received = socket.EndReceive(ar); } catch (Exception ex) { // Close connection CloseClientConnection("Probléma az adatok fogadása közben..." + Environment.NewLine + ex.Message, socket.RemoteEndPoint); return; } // Get received movie object or movie command if (received != 0) { byte[] dataBuf = new byte[received]; Array.Copy(buffer, dataBuf, received); // Client sent a movie if (received != 194) { MovieViewModel movieViewModel = MovieMap.MapToMovieViewModel(BinaryConverter.BinaryToMovieObject(dataBuf)); LoggerService.Instance.Loggers.Add(new Logger { Id = LoggerService.Instance.LastId + 1, Message = "Kliens kiválasztott egy filmet ---\n\t" + movieViewModel.Title, Sender = Sender.SocketServer, LogDate = DateTime.Now }); connection.ClientSockets.FirstOrDefault(c => c.ClientSocket == socket).IsPlayMovie = true; // Start playing movie Application.Current.Dispatcher.Invoke(() => { ((ModernWindow)Application.Current.MainWindow).Hide(); new PlayerWindow(movieViewModel).Show(); }); // Listen again (Receive data) socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), socket); } // Client sent a movie command else { MovieCommand commandEnum = BinaryConverter.BinaryToCommandEnum(dataBuf); if (commandEnum != MovieCommand.CloseClient) { // Process movie command Application.Current.Dispatcher.Invoke(() => { PlayerWindow playerWindow = Application.Current.Windows.OfType <PlayerWindow>().FirstOrDefault(); switch (commandEnum) { case MovieCommand.StartPauseMovie: playerWindow.PlayPause(); break; case MovieCommand.StopMovie: playerWindow.Stop(); break; case MovieCommand.RewindMovie: playerWindow.Rewind(); break; case MovieCommand.ForwardMovie: playerWindow.Forward(); break; case MovieCommand.SoundPlus: playerWindow.SoundPlus(); break; case MovieCommand.SoundMinus: playerWindow.SoundMinus(); break; case MovieCommand.Mute: playerWindow.MuteOnOff(); break; case MovieCommand.FullScreen: playerWindow.SetFullScreen(); break; case MovieCommand.ShutdownPc: playerWindow.SetPcOption(PCOption.Shutdown); break; case MovieCommand.Restart: playerWindow.SetPcOption(PCOption.Restart); break; case MovieCommand.Hibernate: playerWindow.SetPcOption(PCOption.Hibernate); break; case MovieCommand.LogOff: playerWindow.SetPcOption(PCOption.LogOff); break; case MovieCommand.Sleep: playerWindow.SetPcOption(PCOption.Sleep); break; case MovieCommand.Lock: playerWindow.SetPcOption(PCOption.Lock); break; case MovieCommand.CloseMovie: playerWindow.CloseWindow(); break; } }); // Listen again (Receive data) socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), socket); } else { CloseClientConnection("A kliens bezárta a kapcsolatot", socket.RemoteEndPoint); } } } else { CloseClientConnection("Nem érhető el a kliens", socket.RemoteEndPoint); } } else { CloseClientConnection("Nem érhető el a kliens", socket.RemoteEndPoint); } }
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"); } } } }
void Start() { ID = 5; playerWindow = transform.parent.GetComponent<PlayerWindow>(); childimage = gameObject.transform.GetChild(0).GetComponent<Image>(); trans = GetComponent<RectTransform>(); MaxSize = trans.sizeDelta; trans.localScale = Vector3.zero; transSize = Vector3.zero; timer = 0; state = (No == 1)?STATUS.INIT:STATUS.NONE; }