コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <summary>
        /// öffnet das spiel um die übersicht zu sehen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ActiveGameClick(object sender, bool e)
        {
            GuiGameInfo info = (GuiGameInfo)sender;

            fragenGerangel.OpenScreen(new GuiGameOverview(fragenGerangel, info.Game));
        }