// ConsoleWindow consoleWindow; public void StartInstance(Instance inst) { // inst.InstQuit += (sender, e) => // { // if (!cwin.Visible) // Visible = true; // }; // Console.WriteLine("Offline allowed: " + inst.CanPlayOffline); string message = ""; UIEnabled = false; DoLogin( (LoginInfo info) => { string mainGameUrl = "minecraft.jar"; if (!info.Cancelled) { Console.WriteLine(info.ForceUpdate); GameUpdater updater = new GameUpdater(inst, info.LatestVersion, mainGameUrl, info.ForceUpdate); EventHandler startDelegate = new EventHandler( (e, args) => { Visible = false; UIEnabled = true; inst.Launch(info.Username, info.SessionID); ConsoleWindow cwin = new ConsoleWindow(inst); cwin.ConsoleClosed += (sender3, e3) => { Visible = true; cwin.Dispose(); }; }); updater.Completed += (sender, e) => { if (inst.NeedsRebuild) { Application.Invoke( (sender2, e2) => { RebuildMCJar(inst).Completed += (sender3, e3) => Application.Invoke(sender3, e3, startDelegate); }); } else Application.Invoke(sender, e, startDelegate); }; Application.Invoke((sender, e) => StartTask(updater)); } else UIEnabled = true; }, message, inst.CanPlayOffline); // GameUpdater updater = new GameUpdater(inst, // loginInfo., // "minecraft.jar?user="******"&ticket=" + // downloadTicket, // true); }
private void LoginComplete(LoginInfo info, Instance inst) { string mainGameUrl = "minecraft.jar"; if (!info.Cancelled) { Console.WriteLine("Version: {0}", info.LatestVersion); GameUpdater updater = new GameUpdater(inst, info.LatestVersion, mainGameUrl, info.ForceUpdate); EventHandler startDelegate = new EventHandler((e, args) => { if (!DirectLaunch) MainWindow.Visible = false; inst.Launch(info.Username, info.SessionID); IConsoleWindow cwin = GUIManager.Main.ConsoleWindow(inst); cwin.DefaultPosition = DefWindowPosition.CenterScreen; cwin.ConsoleClosed += (e2, args2) => { if (DirectLaunch) { Environment.Exit(0); } else { MainWindow.Invoke((e3, args3) => MainWindow.Visible = true); } }; cwin.Show(); }); updater.Completed += (sender, e) => { if (inst.NeedsRebuild) { MainWindow.Invoke((sender2, e2) => { Modder modder = RebuildMCJar(inst); if (modder == null) MainWindow.Invoke(startDelegate); else modder.Completed += (sender3, e3) => MainWindow.Invoke(startDelegate); }); } else MainWindow.Invoke(startDelegate); }; if (!string.IsNullOrEmpty(info.SessionID)) MainWindow.Invoke((o2, args2) => StartModalTask(updater)); else MainWindow.Invoke(startDelegate); } }
// ConsoleWindow consoleWindow; public void StartInstance(Instance inst) { // inst.InstQuit += (sender, e) => // { // if (!cwin.Visible) // Visible = true; // }; string message = ""; UIEnabled = false; DoLogin( (LoginInfo info) => { string mainGameUrl = "minecraft.jar"; if (!info.Cancelled) { Console.WriteLine(info.ForceUpdate); GameUpdater updater = new GameUpdater(inst, info.LatestVersion, mainGameUrl, info.ForceUpdate); updater.Completed += (sender, e) => Application.Invoke((sender2, e2) => { Visible = false; UIEnabled = true; inst.Launch(); ConsoleWindow cwin = new ConsoleWindow(inst); cwin.ConsoleClosed += (sender3, e3) => { Visible = true; }; }); StartTask(updater); } else UIEnabled = true; }, message); // GameUpdater updater = new GameUpdater(inst, // loginInfo., // "minecraft.jar?user="******"&ticket=" + // downloadTicket, // true); }