Esempio n. 1
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(); });
 }
Esempio n. 2
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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 6
0
        /// <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;
        }
Esempio n. 7
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);
        }
Esempio n. 8
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;
     }
 }
    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;
    }
Esempio n. 11
0
    public void Leave()
    {
        m_PlayerWindow = null;

        m_WeaponButton.onClick.RemoveListener(OnClickWeapon);
        m_ChapterButton.onClick.RemoveListener(OnClickChapter);
        m_RolesButton.onClick.RemoveListener(OnClickRoles);
    }
Esempio n. 12
0
    public void InitPlayerData(PlayerWindow _window)
    {
        m_PlayerWindow = _window;

        m_WeaponButton.onClick.AddListener(OnClickWeapon);
        m_ChapterButton.onClick.AddListener(OnClickChapter);
        m_RolesButton.onClick.AddListener(OnClickRoles);
    }
Esempio n. 13
0
    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);
    }
Esempio n. 14
0
    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");
    }
Esempio n. 15
0
 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;
        }
Esempio n. 17
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 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;
    }
Esempio n. 21
0
    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
            };
        }
    }
Esempio n. 22
0
        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();
        }
Esempio n. 23
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();
        }
Esempio n. 24
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();
    }
Esempio n. 25
0
 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;
 }
Esempio n. 26
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();
        }
Esempio n. 27
0
        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);
		}
Esempio n. 29
0
        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();
        }
Esempio n. 30
0
        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);
		}
Esempio n. 32
0
        // 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;
 }