/// <summary> /// Erstellt alle notwendigen komponenten /// </summary> public override void Init() { update = true; Components.Add(new GuiButton("Suche") { Location = new Vector(-100, 155), RX = 0.5f, Size = new Vector(200, 50), BackColor = Color.LawnGreen, FontColor = Color.White }); GetComponent <GuiButton>("Suche").OnClick += OnClick_NewGame; //holt alle notwendigen informationen vom server Update().Wait(); base.Init(); //liste von aktiven spielen GuiList <GuiGameInfo> games = new GuiList <GuiGameInfo>("Aktive Spiele") { Location = new Vector(10, 200), RWidth = 1, Size = new Vector(0, 0) }; //liste von vergangenen spielen GuiList <GuiGameInfo> gamesClosed = new GuiList <GuiGameInfo>("Vergangene Spiele") { Location = new Vector(10, 200), RWidth = 1, Size = new Vector(0, 0) }; games.SetLocationAndSize(this, Size); gamesClosed.SetLocationAndSize(this, Size); //hinzufügen der spiele foreach (Game g in this.games) { GuiGameInfo info = new GuiGameInfo(g) { RWidth = 1, Size = new Vector(-50, 100), BackColor = Color.White, }; info.InfoClick += ActiveGameClick; if (!g.Active) { gamesClosed.Add(info); } else { games.Add(info); } } gamesClosed.Init(); games.Init(); //liste von anfragen GuiList <GuiPlayerInfo> friendRequests = new GuiList <GuiPlayerInfo>("Freundschaftsanfragen") { Location = new Vector(10, 200), RWidth = 1, Size = new Vector(0, 0) }; { friendRequests.SetLocationAndSize(this, Size); //hinzufügen der anfragen foreach (Player p in this.friendRequests) { GuiPlayerInfo info = new GuiPlayerInfo(p, "möchte dein Freund sein", 2) { RWidth = 1, Size = new Vector(-50, 100), BackColor = Color.White, }; info.InfoClick += HandleFriendRequest; friendRequests.Add(info); } friendRequests.Init(); if (friendRequests.Components.Count > 0) { Components.Add(friendRequests); } } //liste von anfragen GuiList <GuiPlayerInfo> gameRequests = new GuiList <GuiPlayerInfo>("Spielanfragen") { Location = new Vector(10, 200), RWidth = 1, Size = new Vector(0, 0) }; { gameRequests.SetLocationAndSize(this, Size); //hinzufügen der anfragen foreach (Player p in this.gameRequests) { GuiPlayerInfo info = new GuiPlayerInfo(p, "möchte spielen", 2) { RWidth = 1, Size = new Vector(-50, 100), BackColor = Color.White, }; info.InfoClick += HandleGameRequest;; gameRequests.Add(info); } gameRequests.Init(); if (gameRequests.Components.Count > 0) { Components.Add(gameRequests); } } //fügt die listen hinzu falls diese elemente beinhalten if (games.Components.Count > 0) { Components.Add(games); } if (gamesClosed.Components.Count > 0) { Components.Add(gamesClosed); } SearchForUpdates(); }