72 lines
2.1 KiB
C#

using System;
using System.Drawing;
using OpenTK.Input;
namespace ClassicalSharp {
public class ErrorScreen : Screen {
string title, message;
readonly Font titleFont, messageFont;
TextWidget titleWidget, messageWidget;
public ErrorScreen( Game game, string title, string message ) : base( game ) {
this.title = title;
this.message = message;
titleFont = new Font( "Arial", 16, FontStyle.Bold );
messageFont = new Font( "Arial", 14, FontStyle.Regular );
}
public override void Render( double delta ) {
graphicsApi.Texturing = true;
titleWidget.Render( delta );
messageWidget.Render( delta );
graphicsApi.Texturing = false;
}
public override void Init() {
graphicsApi.ClearColour( new FastColour( 65, 31, 31 ) );
titleWidget = TextWidget.Create( game, 0, -30, title, Anchor.Centre, Anchor.Centre, titleFont );
messageWidget = TextWidget.Create( game, 0, 10, message, Anchor.Centre, Anchor.Centre, messageFont );
}
public override void Dispose() {
titleFont.Dispose();
messageFont.Dispose();
titleWidget.Dispose();
messageWidget.Dispose();
}
public override void OnResize( int oldWidth, int oldHeight, int width, int height ) {
titleWidget.OnResize( oldWidth, oldHeight, width, height );
messageWidget.OnResize( oldWidth, oldHeight, width, height );
}
public override bool BlocksWorld {
get { return true; }
}
public override bool HandlesAllInput {
get { return true; }
}
public override bool HidesHud {
get { return true; }
}
public override bool HandlesKeyDown( Key key ) { return true; }
public override bool HandlesKeyPress( char key ) { return true; }
public override bool HandlesKeyUp( Key key ) { return true; }
public override bool HandlesMouseClick( int mouseX, int mouseY, MouseButton button ) { return true; }
public override bool HandlesMouseMove( int mouseX, int mouseY ) { return true; }
public override bool HandlesMouseScroll( int delta ) { return true; }
public override bool HandlesMouseUp( int mouseX, int mouseY, MouseButton button ) { return true; }
}
}