mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-17 03:25:14 -04:00
Show the 'choose mode' menu to first time users always.
This commit is contained in:
parent
b857bf23ec
commit
b08917f116
@ -8,9 +8,9 @@ using OpenTK.Input;
|
||||
|
||||
namespace Launcher {
|
||||
|
||||
public sealed class ChooseModeScreen : LauncherScreen {
|
||||
public abstract class ChooseModeScreen : LauncherScreen {
|
||||
|
||||
Font titleFont, infoFont;
|
||||
protected Font titleFont, infoFont;
|
||||
public ChooseModeScreen( LauncherWindow game ) : base( game ) {
|
||||
game.Window.Mouse.Move += MouseMove;
|
||||
game.Window.Mouse.ButtonDown += MouseButtonDown;
|
||||
@ -18,7 +18,7 @@ namespace Launcher {
|
||||
titleFont = new Font( game.FontName, 16, FontStyle.Bold );
|
||||
infoFont = new Font( game.FontName, 14, FontStyle.Regular );
|
||||
buttonFont = titleFont;
|
||||
widgets = new LauncherWidget[13];
|
||||
widgets = new LauncherWidget[14];
|
||||
}
|
||||
|
||||
public override void Init() {
|
||||
@ -61,32 +61,34 @@ namespace Launcher {
|
||||
|
||||
void MakeWidgets() {
|
||||
widgetIndex = 0;
|
||||
int middle = game.Width / 2;
|
||||
MakeLabelAt("&fChoose game mode", titleFont, Anchor.Centre, Anchor.Centre, 0, -135 );
|
||||
|
||||
MakeButtonAt( "Normal", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, 70, -72,
|
||||
MakeButtonAt( "Normal", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, middle - 250, -72,
|
||||
(x, y) => ModeClick( false, false ) );
|
||||
MakeLabelAt( "&eEnables custom blocks, env settings,",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, -72 - 12 );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, -72 - 12 );
|
||||
MakeLabelAt( "&elonger messages, and more",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, -72 + 12 );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, -72 + 12 );
|
||||
|
||||
MakeButtonAt( "Classic", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, 70, 0,
|
||||
MakeButtonAt( "Classic", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, middle - 250, 0,
|
||||
(x, y) => ModeClick( true, false ) );
|
||||
MakeLabelAt( "&eOnly uses blocks and features from",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, 0 - 12 );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, 0 - 12 );
|
||||
MakeLabelAt( "ðe original minecraft classic",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, 0 + 12 );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, 0 + 12 );
|
||||
|
||||
MakeButtonAt( "Classic +hax", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, 70, 72,
|
||||
MakeButtonAt( "Classic +hax", 145, 35, titleFont, Anchor.LeftOrTop, Anchor.Centre, middle - 250, 72,
|
||||
(x, y) => ModeClick( true, true ) );
|
||||
MakeLabelAt( "&eSame as Classic mode, except that",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, 72 - 12 );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, 72 - 12 );
|
||||
MakeLabelAt( "&ehacks (noclip/fly/speed) are enabled",
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, 235, 72 + 12 );
|
||||
|
||||
MakeButtonAt( "Back", 80, 35, titleFont, Anchor.Centre,
|
||||
0, 175, (x, y) => game.SetScreen( new MainScreen( game ) ) );
|
||||
infoFont, Anchor.LeftOrTop, Anchor.Centre, middle - 85, 72 + 12 );
|
||||
MakeOtherWidgets();
|
||||
}
|
||||
|
||||
protected virtual void MakeOtherWidgets() { }
|
||||
|
||||
void ModeClick( bool classic, bool classicHacks ) {
|
||||
game.ClassicMode = classic;
|
||||
Options.Load();
|
||||
@ -115,4 +117,24 @@ namespace Launcher {
|
||||
infoFont.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ChooseModeNormalScreen : ChooseModeScreen {
|
||||
|
||||
public ChooseModeNormalScreen( LauncherWindow game ) : base( game ) { }
|
||||
|
||||
protected override void MakeOtherWidgets() {
|
||||
MakeButtonAt( "Back", 80, 35, titleFont, Anchor.Centre,
|
||||
0, 175, (x, y) => game.SetScreen( new MainScreen( game ) ) );
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ChooseModeFirstTimeScreen : ChooseModeScreen {
|
||||
|
||||
public ChooseModeFirstTimeScreen( LauncherWindow game ) : base( game ) { }
|
||||
|
||||
protected override void MakeOtherWidgets() {
|
||||
MakeLabelAt( "&eClick &fNormal &eif you are unsure which mode to choose.",
|
||||
infoFont, Anchor.Centre, Anchor.Centre, 0, 160 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ namespace Launcher {
|
||||
(x, y) => game.SetScreen( new UpdatesScreen( game ) ) );
|
||||
MakeButtonAt( "Choose mode", 200, buttonHeight, buttonFont,
|
||||
Anchor.Centre, Anchor.BottomOrRight, 0, -10,
|
||||
(x, y) => game.SetScreen( new ChooseModeScreen( game ) ) );
|
||||
(x, y) => game.SetScreen( new ChooseModeNormalScreen( game ) ) );
|
||||
|
||||
MakeLabelAt( updateText, updateFont, Anchor.BottomOrRight,
|
||||
Anchor.BottomOrRight, -10, -50 );
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using ClassicalSharp;
|
||||
using ClassicalSharp.Network;
|
||||
|
||||
@ -37,7 +38,7 @@ namespace Launcher {
|
||||
fetcher = null;
|
||||
GC.Collect();
|
||||
game.TryLoadTexturePack();
|
||||
game.SetScreen( new MainScreen( game ) );
|
||||
GotoNextMenu();
|
||||
}
|
||||
}
|
||||
|
||||
@ -94,13 +95,20 @@ namespace Launcher {
|
||||
-50, 40, DownloadResources );
|
||||
|
||||
MakeButtonAt( "No", 60, 30, textFont, Anchor.Centre,
|
||||
50, 40, (x, y) => game.SetScreen( new MainScreen( game ) ) );
|
||||
50, 40, (x, y) => GotoNextMenu() );
|
||||
} else {
|
||||
MakeButtonAt( "Cancel", 120, 30, textFont, Anchor.Centre,
|
||||
0, 40, (x, y) => game.SetScreen( new MainScreen( game ) ) );
|
||||
0, 40, (x, y) => GotoNextMenu() );
|
||||
}
|
||||
}
|
||||
|
||||
void GotoNextMenu() {
|
||||
if( File.Exists( "options.txt" ) )
|
||||
game.SetScreen( new MainScreen( game ) );
|
||||
else
|
||||
game.SetScreen( new ChooseModeFirstTimeScreen( game ) );
|
||||
}
|
||||
|
||||
void SetStatus( string text ) {
|
||||
LauncherLabelWidget widget = (LauncherLabelWidget)widgets[0];
|
||||
using( drawer ) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user