コード例 #1
0
        private async void ServerMessage_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            try
            {
                var result = await ServerInfoGetter.GetServerInfoAsync();

                ServerMessage.Text    = $"服务器在线人数: {result.players.online}";
                ServerMessage.ToolTip = result.players.sample != null?string.Join("\r\n", result.players.sample.Select(p => p.name)) : "现在没有人..点这里来刷新!";
            }
            catch (Exception e1)
            {
                Trace.WriteLine(e1);
            }
        }
コード例 #2
0
        public LauncherWindow()
        {
            InitializeComponent();

            Trace.WriteLine("Initialzing Launch Window.");
            InitTheme();
            Trace.WriteLine("Done: Theme load.");

            //            WelcomeMessage.Text += $" {Config.Instance.PlayerAccount.Username}";
            //            TitleTextBlock.Text +=
            //                $" {Config.LauncherVersion}{(Config.Admins.Any(u => u == Config.Instance.PlayerAccount.Username) ? " 管理" : string.Empty)}";

            try
            {
                var result1 = ServerInfoGetter.GetServerInfoAsync();
                result1.Wait(2000); // 避免由服务器错误引起的无限等待
                if (result1.IsCompleted)
                {
                    Trace.WriteLine("Done: Server info get.");
                    var result = result1.Result;
                    ServerMessage.Text    = $"服务器在线人数 {result.players.online}";
                    ServerMessage.ToolTip = result.players.sample != null?string.Join("\r\n", result.players.sample.Select(p => p.name)) : "现在没有人..点这里来刷新!";
                }
            }
            catch (Exception e)
            {
                Trace.WriteLine(e);
            }

#if !DEBUG
            try
            {
                if (AutoUpdater.HasUpdate)
                {
                    var version = AutoUpdater.GetVersion();
                    if (version - Config.LauncherVersion > 10) // 开玩笑
                    {
                        AutoUpdater.Update();
                        return;
                    }
                    MainSnackbar.MessageQueue.Enqueue($"启动器有更新啦! {version}", "立即更新", AutoUpdater.Update);
                }
            }
            catch (Exception e)
            {
                Trace.WriteLine(e);
            }
#endif
            Trace.WriteLine("Auto update check done.");

            Task.Run(() =>
            {
                Thread.Sleep(300);
                Dispatcher.Invoke(() =>
                {
                    var doubleAnimation = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromSeconds(1)));
                    MainCard.BeginAnimation(OpacityProperty, doubleAnimation);
                    MainTransitioner.SelectedIndex = 1;
                });
            });

            Trace.WriteLine("Launch Window loaded.");
        }