示例#1
0
 /// <summary>
 /// Der Client erhaelt vom Server eine Liste aller Clients, die im Editor sind. Diese werden in der Editorlist gespeichert.
 /// </summary>
 /// <param name="editorlist"></param>
 private void HandleClientsInEditorEvent(string[] editorlist)
 {
     Application.Current.Dispatcher.Invoke(delegate {
         Editorlist.Clear();
     });
     foreach (string username in editorlist)
     {
         if (username != "")
         {
             Application.Current.Dispatcher.Invoke(delegate {
                 Editorlist.Add(username);
             });
         }
     }
 }
示例#2
0
 /// <summary>
 /// Entfernen eines Raumbuttons
 /// </summary>
 /// <param name="gameID"></param>
 private void HandleClosingEditorEvent(string editorID)
 {
     // Suchen, ob Spiel in dieser Logik bereits als Button vorhanden
     foreach (EditorButtonData ebd in Editorlist)
     {
         if (ebd.EditorID.Equals(editorID))
         {
             // Wenn gefunden entfernen
             App.Current.Dispatcher.Invoke((Action) delegate
             {
                 Editorlist.Remove(ebd);
             });
         }
     }
     OnPropertyChanged("Editorlist");
 }
示例#3
0
        private void HandleOpenEditorsEvent(string editorID, string roomName, int player)
        {
            // Suchen, ob Spiel in dieser Logik bereits als Button vorhanden
            foreach (EditorButtonData ebd in Editorlist)
            {
                if (ebd.EditorID.Equals(editorID))
                {
                    // Wenn gefunden Spielerzahl aktualisieren
                    ebd.Player = player;
                    return;
                }
            }


            EditorButtonData button = new EditorButtonData(editorID, roomName, player);

            button.JoinEditorEvent += HandleJoinEditorEvent;
            App.Current.Dispatcher.Invoke((Action) delegate
            {
                Editorlist.Add(button);
                OnPropertyChanged("Editorlist");
            });
        }