示例#1
0
        //Server List
        void ConstructServerList()
        {
            manager.Elements.Clear();
            manager.AnimationComplete -= ConstructServerList;
            serverList = new UIServerList(manager)
            {
                Internet = internetServers
            };
            serverList.Selected += ServerList_Selected;
            manager.Elements.Add(serverList);
            manager.Elements.Add(new UIMenuButton(manager, new Vector2(0.01f, -0.55f), "SET FILTER", null));
            manager.Elements.Add(new UIMenuButton(manager, new Vector2(-0.64f, -0.55f), "MAIN MENU", ServersToMainMenu));
            manager.FlyInAll(FLYIN_LENGTH, 0.05);
            //Refresh button - from right
            var rfrsh = new UIMenuButton(manager, new Vector2(0.67f, -0.55f), "REFRESH LIST", RefreshServerList);

            rfrsh.Animation = new FlyInRight(rfrsh.UIPosition, 0, FLYIN_LENGTH);
            rfrsh.Animation.Begin();
            manager.Elements.Add(rfrsh);
            //Connect button - from right
            connectButton           = new UIMenuButton(manager, new Vector2(0.67f, -0.82f), "CONNECT >");
            connectButton.Animation = new FlyInRight(connectButton.UIPosition, 0, FLYIN_LENGTH);
            connectButton.Animation.Begin();
            manager.Elements.Add(connectButton);
            //SERVER DESCRIPTION - from right
            serverDescription = new UIServerDescription(manager, -0.32f, -0.81f)
            {
                ServerList = serverList
            };
            serverDescription.Animation = new FlyInRight(serverDescription.UIPosition, 0, FLYIN_LENGTH);
            serverDescription.Animation.Begin();
            manager.Elements.Add(serverDescription);
            manager.PlaySound("ui_motion_swish");
            if (netClient == null)
            {
                netClient = new GameClient(Game);
                netClient.Disconnected     += ServerList_Disconnected;
                netClient.ServerFound      += NetClient_ServerFound;
                netClient.OpenNewCharacter += NetClient_OpenNewCharacter;
                netClient.Start();
                netClient.UUID = Game.Config.UUID.Value;
                netClient.CharacterSelection += (info) =>
                {
                    csel = info;
                    manager.FlyOutAll(FLYIN_LENGTH, 0.05);
                    manager.PlaySound("ui_motion_swish");
                    manager.AnimationComplete += ConstructCharacterSelect;
                    netClient.Disconnected    -= ServerList_Disconnected;
                };
            }
            netClient.DiscoverLocalPeers();
            if (internetServers)
            {
                netClient.DiscoverGlobalPeers();
            }
        }
示例#2
0
 public ServerListContent(UIServerList lst)
 {
     list = lst;
 }