mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-17 11:35:08 -04:00
Partially separate ResourcesScreen into ResourcesView and ResourcesScreen.
This commit is contained in:
parent
acf52aab8f
commit
61559c63f3
@ -178,13 +178,8 @@ namespace Launcher {
|
|||||||
|
|
||||||
protected void MakeInput( string text, int width, Anchor verAnchor, bool password,
|
protected void MakeInput( string text, int width, Anchor verAnchor, bool password,
|
||||||
int x, int y, int maxChars, string hint ) {
|
int x, int y, int maxChars, string hint ) {
|
||||||
MakeInput( text, width, Anchor.Centre, verAnchor, password, x, y, maxChars, hint );
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void MakeInput( string text, int width, Anchor horAnchor, Anchor verAnchor,
|
|
||||||
bool password, int x, int y, int maxChars, string hint ) {
|
|
||||||
WidgetConstructors.MakeInput( game, widgets, ref widgetIndex,
|
WidgetConstructors.MakeInput( game, widgets, ref widgetIndex,
|
||||||
text, width, horAnchor, verAnchor,
|
text, width, Anchor.Centre, verAnchor,
|
||||||
inputFont, inputHintFont, InputClick,
|
inputFont, inputHintFont, InputClick,
|
||||||
password, x, y, maxChars, hint );
|
password, x, y, maxChars, hint );
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ namespace Launcher {
|
|||||||
public sealed class ResourcesScreen : LauncherScreen {
|
public sealed class ResourcesScreen : LauncherScreen {
|
||||||
|
|
||||||
Font infoFont, statusFont;
|
Font infoFont, statusFont;
|
||||||
|
ResourcesView view;
|
||||||
public ResourcesScreen( LauncherWindow game ) : base( game ) {
|
public ResourcesScreen( LauncherWindow game ) : base( game ) {
|
||||||
game.Window.Mouse.Move += MouseMove;
|
game.Window.Mouse.Move += MouseMove;
|
||||||
game.Window.Mouse.ButtonDown += MouseButtonDown;
|
game.Window.Mouse.ButtonDown += MouseButtonDown;
|
||||||
@ -18,10 +19,15 @@ namespace Launcher {
|
|||||||
infoFont = new Font( game.FontName, 14, FontStyle.Regular );
|
infoFont = new Font( game.FontName, 14, FontStyle.Regular );
|
||||||
statusFont = new Font( game.FontName, 13, FontStyle.Italic );
|
statusFont = new Font( game.FontName, 13, FontStyle.Italic );
|
||||||
buttonFont = textFont;
|
buttonFont = textFont;
|
||||||
widgets = new LauncherWidget[4];
|
view = new ResourcesView( game );
|
||||||
|
widgets = view.widgets;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Init() { Resize(); }
|
public override void Init() {
|
||||||
|
view.Init();
|
||||||
|
MakeWidgets();
|
||||||
|
Resize();
|
||||||
|
}
|
||||||
|
|
||||||
bool failed;
|
bool failed;
|
||||||
public override void Tick() {
|
public override void Tick() {
|
||||||
@ -45,46 +51,25 @@ namespace Launcher {
|
|||||||
|
|
||||||
public override void Resize() {
|
public override void Resize() {
|
||||||
MakeWidgets();
|
MakeWidgets();
|
||||||
using( drawer ) {
|
view.DrawAll();
|
||||||
drawer.SetBitmap( game.Framebuffer );
|
|
||||||
drawer.Clear( clearCol );
|
|
||||||
drawer.Clear( backCol, game.Width / 2 - 190, game.Height / 2 - 70, 190 * 2, 70 * 2 );
|
|
||||||
}
|
|
||||||
|
|
||||||
RedrawAllButtonBackgrounds();
|
|
||||||
using( drawer ) {
|
|
||||||
drawer.SetBitmap( game.Framebuffer );
|
|
||||||
RedrawAll();
|
|
||||||
}
|
|
||||||
Dirty = true;
|
Dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lastProgress = int.MinValue;
|
|
||||||
void CheckCurrentProgress() {
|
void CheckCurrentProgress() {
|
||||||
Request item = fetcher.downloader.CurrentItem;
|
Request item = fetcher.downloader.CurrentItem;
|
||||||
if( item == null ) {
|
if( item == null ) {
|
||||||
lastProgress = int.MinValue; return;
|
view.lastProgress = int.MinValue; return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int progress = fetcher.downloader.CurrentItemProgress;
|
int progress = fetcher.downloader.CurrentItemProgress;
|
||||||
if( progress == lastProgress ) return;
|
if( progress == view.lastProgress ) return;
|
||||||
lastProgress = progress;
|
view.lastProgress = progress;
|
||||||
SetFetchStatus( progress );
|
SetFetchStatus( progress );
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetFetchStatus( int progress ) {
|
void SetFetchStatus( int progress ) {
|
||||||
if( progress >= 0 && progress <= 100 )
|
if( progress >= 0 && progress <= 100 ) {
|
||||||
DrawProgressBox( progress );
|
view.DrawProgressBox( progress );
|
||||||
}
|
|
||||||
|
|
||||||
static FastColour progBack = new FastColour( 220, 220, 220 );
|
|
||||||
static FastColour progFront = new FastColour( 0, 220, 0 );
|
|
||||||
void DrawProgressBox( int progress ) {
|
|
||||||
progress = (200 * progress) / 100;
|
|
||||||
using( drawer ) {
|
|
||||||
drawer.SetBitmap( game.Framebuffer );
|
|
||||||
drawer.DrawRect( progBack, game.Width / 2 - 100, game.Height / 2 + 10, 200, 4 );
|
|
||||||
drawer.DrawRect( progFront, game.Width / 2 - 100, game.Height / 2 + 10, progress, 4 );
|
|
||||||
Dirty = true;
|
Dirty = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -127,8 +112,10 @@ namespace Launcher {
|
|||||||
0, 45, (x, y) => GotoNextMenu() );
|
0, 45, (x, y) => GotoNextMenu() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( lastProgress >= 0 && lastProgress <= 100 )
|
if( view.lastProgress >= 0 && view.lastProgress <= 100 ) {
|
||||||
DrawProgressBox( lastProgress );
|
view.DrawProgressBox( view.lastProgress );
|
||||||
|
Dirty = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownloadResources( int mouseX, int mouseY ) {
|
void DownloadResources( int mouseX, int mouseY ) {
|
||||||
|
46
Launcher2/Gui/Views/ResourcesView.cs
Normal file
46
Launcher2/Gui/Views/ResourcesView.cs
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT
|
||||||
|
using System;
|
||||||
|
using ClassicalSharp;
|
||||||
|
|
||||||
|
namespace Launcher {
|
||||||
|
|
||||||
|
public sealed class ResourcesView : IView {
|
||||||
|
|
||||||
|
public ResourcesView( LauncherWindow game ) : base( game ) {
|
||||||
|
widgets = new LauncherWidget[4];
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Init() {
|
||||||
|
// TODO: figure out how to fix this.
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void DrawAll() {
|
||||||
|
using( drawer ) {
|
||||||
|
drawer.SetBitmap( game.Framebuffer );
|
||||||
|
drawer.Clear( clearCol );
|
||||||
|
drawer.Clear( backCol, game.Width / 2 - 190, game.Height / 2 - 70, 190 * 2, 70 * 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
RedrawAllButtonBackgrounds();
|
||||||
|
using( drawer ) {
|
||||||
|
drawer.SetBitmap( game.Framebuffer );
|
||||||
|
RedrawAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void DrawProgressBox( int progress ) {
|
||||||
|
progress = (200 * progress) / 100;
|
||||||
|
using( drawer ) {
|
||||||
|
drawer.SetBitmap( game.Framebuffer );
|
||||||
|
drawer.DrawRect( progBack, game.Width / 2 - 100, game.Height / 2 + 10, 200, 4 );
|
||||||
|
drawer.DrawRect( progFront, game.Width / 2 - 100, game.Height / 2 + 10, progress, 4 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal int lastProgress = int.MinValue;
|
||||||
|
static FastColour backCol = new FastColour( 120, 85, 151 );
|
||||||
|
static FastColour clearCol = new FastColour( 12, 12, 12 );
|
||||||
|
static FastColour progBack = new FastColour( 220, 220, 220 );
|
||||||
|
static FastColour progFront = new FastColour( 0, 220, 0 );
|
||||||
|
}
|
||||||
|
}
|
@ -77,6 +77,7 @@
|
|||||||
<Compile Include="Gui\Views\ColoursView.cs" />
|
<Compile Include="Gui\Views\ColoursView.cs" />
|
||||||
<Compile Include="Gui\Views\DirectConnectView.cs" />
|
<Compile Include="Gui\Views\DirectConnectView.cs" />
|
||||||
<Compile Include="Gui\Views\IView.cs" />
|
<Compile Include="Gui\Views\IView.cs" />
|
||||||
|
<Compile Include="Gui\Views\ResourcesView.cs" />
|
||||||
<Compile Include="Gui\Views\ServersView.cs" />
|
<Compile Include="Gui\Views\ServersView.cs" />
|
||||||
<Compile Include="Gui\Views\UpdatesView.cs" />
|
<Compile Include="Gui\Views\UpdatesView.cs" />
|
||||||
<Compile Include="Gui\Widgets\LauncherBoolWidget.cs" />
|
<Compile Include="Gui\Widgets\LauncherBoolWidget.cs" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user