void UpdateBuild(bool release, bool dx)
        {
            DateTime last  = release ? view.LastStable : view.LastDev;
            Build    build = release ? stable : dev;

            if (last == DateTime.MinValue || build.DirectXSize < 50000 ||
                build.OpenGLSize < 50000)
            {
                return;
            }

            view.gameOpen = CheckClientInstances();
            view.SetWarning();
            LauncherWidget widget = widgets[view.statusIndex];

            game.ClearArea(widget.X, widget.Y, widget.Width, widget.Height);
            RedrawWidget(widgets[view.statusIndex]);
            if (view.gameOpen)
            {
                return;
            }

            string path = dx ? build.DirectXPath : build.OpenGLPath;

            Utils.LogDebug("Updating to: " + path);
            Applier.PatchTime = build.TimeBuilt;
            Applier.FetchUpdate(path);
            game.ShouldExit   = true;
            game.ShouldUpdate = true;
        }
Esempio n. 2
0
 protected void RedrawWidget(LauncherWidget widget)
 {
     using ( drawer ) {
         drawer.SetBitmap(game.Framebuffer);
         widget.Redraw(drawer);
     }
     game.Dirty = true;
 }
Esempio n. 3
0
 protected override void SelectWidget(LauncherWidget widget)
 {
     base.SelectWidget(widget);
     if (widget is LauncherInputWidget)
     {
         widgetOpenTime = DateTime.UtcNow;
         lastCaretFlash = false;
     }
 }
Esempio n. 4
0
 protected override void UnselectWidget(LauncherWidget widget)
 {
     base.UnselectWidget(widget);
     if (signingIn || !resumeValid || widget != widgets[4])
     {
         return;
     }
     SetStatus("");
 }
Esempio n. 5
0
        string GetCol(byte col, bool force)
        {
            if (force)
            {
                return(col.ToString());
            }
            LauncherWidget widget = widgets[widgetIndex];

            return(widget == null?col.ToString() : widget.Text);
        }
Esempio n. 6
0
        /// <summary> Called when user has moved their mouse over a given widget. </summary>
        protected virtual void SelectWidget(LauncherWidget widget)
        {
            LauncherButtonWidget button = widget as LauncherButtonWidget;

            if (button != null)
            {
                button.Active = true;
                button.RedrawBackground();
                RedrawWidget(button);
            }
        }
Esempio n. 7
0
        protected override void SelectWidget(LauncherWidget widget)
        {
            base.SelectWidget(widget);
            if (signingIn || !resumeValid || widget != widgets[4])
            {
                return;
            }
            const string format = "&eResume to {0}:{1}, as {2}";

            SetStatus(String.Format(format, resumeIp, resumePort, resumeUser));
        }
Esempio n. 8
0
        protected override void WidgetUnclicked(LauncherWidget widget)
        {
            LauncherInputWidget input = widget as LauncherInputWidget;

            if (input == null)
            {
                return;
            }
            input.Active = false;
            RedrawWidget(input);
            lastInput  = null;
            game.Dirty = true;
        }
Esempio n. 9
0
        void FailedUpdateCheck(UpdateCheckTask task)
        {
            view.LastStable = DateTime.MaxValue;
            view.LastDev    = DateTime.MaxValue;
            task.Exception  = null;

            LauncherWidget w = widgets[view.devIndex - 1];

            game.ClearArea(w.X, w.Y, w.Width, w.Height);
            w = widgets[view.relIndex - 1];
            game.ClearArea(w.X, w.Y, w.Width, w.Height);
            game.RedrawBackground();
            Resize();
        }
Esempio n. 10
0
        protected void HandleTab()
        {
            if (tabDown)
            {
                return;
            }
            tabDown = true;
            int index = lastClicked == null ? -1 :
                        Array.IndexOf <LauncherWidget>(widgets, lastClicked);
            int dir = (game.Window.Keyboard[Key.ShiftLeft] ||
                       game.Window.Keyboard[Key.ShiftRight]) ? -1 : 1;

            index += dir;
            Utils.Clamp(ref index, 0, widgets.Length - 1);

            for (int j = 0; j < widgets.Length * 2; j++)
            {
                int i = (j * dir + index) % widgets.Length;
                if (i < 0)
                {
                    i += widgets.Length;
                }

                if (widgets[i] is LauncherInputWidget || widgets[i] is LauncherButtonWidget)
                {
                    LauncherWidget widget = widgets[i];
                    moveArgs.X = widget.X + widget.Width / 2;
                    moveArgs.Y = widget.Y + widget.Height / 2;

                    pressArgs.Button    = MouseButton.Left;
                    pressArgs.IsPressed = true;
                    pressArgs.X         = moveArgs.X;
                    pressArgs.Y         = moveArgs.Y;

                    MouseMove(null, moveArgs);
                    Point p = game.Window.PointToScreen(Point.Empty);
                    p.Offset(moveArgs.X, moveArgs.Y);
                    game.Window.DesktopCursorPos = p;
                    lastClicked = widget;

                    if (widgets[i] is LauncherInputWidget)
                    {
                        MouseButtonDown(null, pressArgs);
                        ((LauncherInputWidget)widgets[i]).CaretPos = -1;
                    }
                    break;
                }
            }
        }
 void KeyDown(object sender, KeyboardKeyEventArgs e)
 {
     if (e.Key == Key.Tab)
     {
         HandleTab();
     }
     else if (e.Key == Key.Enter)
     {
         LauncherWidget widget = selectedWidget;
         if (widget != null && widget.OnClick != null)
         {
             widget.OnClick(0, 0);
         }
     }
 }
Esempio n. 12
0
        protected void MouseButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (e.Button != MouseButton.Left)
            {
                return;
            }

            if (lastClicked != null && lastClicked != selectedWidget)
            {
                WidgetUnclicked(lastClicked);
            }
            if (selectedWidget != null && selectedWidget.OnClick != null)
            {
                selectedWidget.OnClick(e.X, e.Y);
            }
            lastClicked = selectedWidget;
        }
        public override void Tick()
        {
            ;
            if (checkTask.Done && checkTask.Exception == null)
            {
                return;
            }
            if (!checkTask.TaskTick(SuccessfulUpdateCheck))
            {
                view.LastStable     = DateTime.MaxValue;
                view.LastDev        = DateTime.MaxValue;
                checkTask.Exception = null;

                LauncherWidget w = widgets[view.devIndex - 1];
                game.ClearArea(w.X, w.Y, w.Width, w.Height);
                w = widgets[view.relIndex - 1];
                game.ClearArea(w.X, w.Y, w.Width, w.Height);
                Resize();
            }
        }
Esempio n. 14
0
        protected virtual void MouseMove(object sender, MouseMoveEventArgs e)
        {
            if (supressMove)
            {
                supressMove = false; return;
            }
            mouseMoved = true;

            for (int i = 0; i < widgets.Length; i++)
            {
                LauncherWidget widget = widgets[i];
                if (widget == null)
                {
                    continue;
                }
                if (e.X >= widget.X && e.Y >= widget.Y &&
                    e.X < widget.X + widget.Width && e.Y < widget.Y + widget.Height)
                {
                    if (selectedWidget == widget)
                    {
                        return;
                    }

                    if (selectedWidget != null)
                    {
                        UnselectWidget(selectedWidget);
                    }
                    SelectWidget(widget);
                    selectedWidget = widget;
                    return;
                }
            }

            if (selectedWidget == null)
            {
                return;
            }
            UnselectWidget(selectedWidget);
            selectedWidget = null;
        }
Esempio n. 15
0
 public UpdatesView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[13];
 }
Esempio n. 16
0
 public DirectConnectView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[8];
 }
Esempio n. 17
0
 protected virtual void WidgetUnclicked(LauncherWidget widget)
 {
 }
Esempio n. 18
0
 public ColoursView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[25];
 }
Esempio n. 19
0
 public ResourcesView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[4];
 }
Esempio n. 20
0
 public MainView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[16];
 }
Esempio n. 21
0
        protected string Get(int index)
        {
            LauncherWidget widget = widgets[index];

            return(widget == null ? "" : widget.Text);
        }
Esempio n. 22
0
 public ServersView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[7];
 }
Esempio n. 23
0
        protected virtual void KeyDown(object sender, KeyboardKeyEventArgs e)
        {
            if (e.Key == Key.Enter && enterIndex >= 0)
            {
                LauncherWidget widget = (selectedWidget != null && mouseMoved) ?
                                        selectedWidget : widgets[enterIndex];
                if (widget.OnClick != null)
                {
                    widget.OnClick(0, 0);
                }
            }
            else if (e.Key == Key.Tab)
            {
                HandleTab();
            }
            if (lastInput == null)
            {
                if (e.Key == Key.Escape)
                {
                    game.SetScreen(new MainScreen(game));
                }
                return;
            }

            if (e.Key == Key.BackSpace && lastInput.BackspaceChar())
            {
                RedrawLastInput();
                OnRemovedChar();
            }
            else if (e.Key == Key.Delete && lastInput.DeleteChar())
            {
                RedrawLastInput();
                OnRemovedChar();
            }
            else if (e.Key == Key.C && ControlDown)
            {
                lastInput.CopyToClipboard();
            }
            else if (e.Key == Key.V && ControlDown)
            {
                if (lastInput.CopyFromClipboard())
                {
                    RedrawLastInput();
                }
            }
            else if (e.Key == Key.Escape)
            {
                if (lastInput.ClearText())
                {
                    RedrawLastInput();
                }
            }
            else if (e.Key == Key.Left)
            {
                lastInput.AdvanceCursorPos(-1);
                RedrawLastInput();
            }
            else if (e.Key == Key.Right)
            {
                lastInput.AdvanceCursorPos(+1);
                RedrawLastInput();
            }
        }
Esempio n. 24
0
 public ChooseModeView(LauncherWindow game) : base(game)
 {
     widgets = new LauncherWidget[14];
 }