Don't check for X11 on windows, cache EventArgs in Game class, remove update variables from OpenTK.GameWindow

This commit is contained in:
UnknownShadow200 2015-06-27 13:57:16 +10:00
parent 0504a266e0
commit d2fc5bd20e
3 changed files with 26 additions and 25 deletions

View File

@ -46,29 +46,30 @@ namespace ClassicalSharp {
RaiseEvent( HeldBlockChanged ); RaiseEvent( HeldBlockChanged );
} }
IdEventArgs idArgs = new IdEventArgs( 0 );
internal void RaiseEntityAdded( byte id ) { internal void RaiseEntityAdded( byte id ) {
IdEventArgs e = new IdEventArgs( id ); idArgs.Id = id;
RaiseEvent( EntityAdded, e ); RaiseEvent( EntityAdded, idArgs );
} }
internal void RaiseEntityRemoved( byte id ) { internal void RaiseEntityRemoved( byte id ) {
IdEventArgs e = new IdEventArgs( id ); idArgs.Id = id;
RaiseEvent( EntityRemoved, e ); RaiseEvent( EntityRemoved, idArgs );
} }
internal void RaiseCpeListInfoAdded( byte id ) { internal void RaiseCpeListInfoAdded( byte id ) {
IdEventArgs e = new IdEventArgs( id ); idArgs.Id = id;
RaiseEvent( CpeListInfoAdded, e ); RaiseEvent( CpeListInfoAdded, idArgs );
} }
internal void RaiseCpeListInfoChanged( byte id ) { internal void RaiseCpeListInfoChanged( byte id ) {
IdEventArgs e = new IdEventArgs( id ); idArgs.Id = id;
RaiseEvent( CpeListInfoChanged, e ); RaiseEvent( CpeListInfoChanged, idArgs );
} }
internal void RaiseCpeListInfoRemoved( byte id ) { internal void RaiseCpeListInfoRemoved( byte id ) {
IdEventArgs e = new IdEventArgs( id ); idArgs.Id = id;
RaiseEvent( CpeListInfoRemoved, e ); RaiseEvent( CpeListInfoRemoved, idArgs );
} }
internal void RaiseBlockPermissionsChanged() { internal void RaiseBlockPermissionsChanged() {
@ -79,14 +80,16 @@ namespace ClassicalSharp {
RaiseEvent( OnNewMapLoaded ); RaiseEvent( OnNewMapLoaded );
} }
MapLoadingEventArgs loadingArgs = new MapLoadingEventArgs( 0 );
internal void RaiseMapLoading( byte progress ) { internal void RaiseMapLoading( byte progress ) {
MapLoadingEventArgs e = new MapLoadingEventArgs( progress ); loadingArgs.Progress = progress;
RaiseEvent( MapLoading, e ); RaiseEvent( MapLoading, loadingArgs );
} }
EnvVariableEventArgs envArgs = new EnvVariableEventArgs( 0 );
internal void RaiseEnvVariableChanged( EnvVariable variable ) { internal void RaiseEnvVariableChanged( EnvVariable variable ) {
EnvVariableEventArgs e = new EnvVariableEventArgs( variable ); envArgs.Variable = variable;
RaiseEvent( EnvVariableChanged, e ); RaiseEvent( EnvVariableChanged, envArgs );
} }
void RaiseEvent( EventHandler handler ) { void RaiseEvent( EventHandler handler ) {
@ -104,7 +107,7 @@ namespace ClassicalSharp {
public sealed class IdEventArgs : EventArgs { public sealed class IdEventArgs : EventArgs {
public readonly byte Id; public byte Id;
public IdEventArgs( byte id ) { public IdEventArgs( byte id ) {
Id = id; Id = id;
@ -125,7 +128,7 @@ namespace ClassicalSharp {
public sealed class MapLoadingEventArgs : EventArgs { public sealed class MapLoadingEventArgs : EventArgs {
public readonly int Progress; public int Progress;
public MapLoadingEventArgs( int progress ) { public MapLoadingEventArgs( int progress ) {
Progress = progress; Progress = progress;
@ -134,7 +137,7 @@ namespace ClassicalSharp {
public sealed class EnvVariableEventArgs : EventArgs { public sealed class EnvVariableEventArgs : EventArgs {
public readonly EnvVariable Variable; public EnvVariable Variable;
public EnvVariableEventArgs( EnvVariable variable ) { public EnvVariableEventArgs( EnvVariable variable ) {
Variable = variable; Variable = variable;

View File

@ -82,7 +82,7 @@ namespace OpenTK
// Hack: it seems that this check will cause X to initialize itself on Mac OS X Leopard and newer. // Hack: it seems that this check will cause X to initialize itself on Mac OS X Leopard and newer.
// We don't want that (we'll be using the native interfaces anyway), so we'll avoid this check // We don't want that (we'll be using the native interfaces anyway), so we'll avoid this check
// when we detect Mac OS X. // when we detect Mac OS X.
if (!RunningOnMacOS) if (!runningOnMacOS && !runningOnWindows)
{ {
try { runningOnX11 = OpenTK.Platform.X11.API.DefaultDisplay != IntPtr.Zero; } try { runningOnX11 = OpenTK.Platform.X11.API.DefaultDisplay != IntPtr.Zero; }
catch { } catch { }

View File

@ -79,15 +79,14 @@ namespace OpenTK
bool isExiting = false; bool isExiting = false;
double update_period, render_period; double render_period;
double target_update_period, target_render_period; double target_render_period;
// TODO: Implement these: // TODO: Implement these:
double update_time, render_time; double render_time;
VSyncMode vsync; VSyncMode vsync;
Stopwatch update_watch = new Stopwatch(), render_watch = new Stopwatch(); Stopwatch render_watch = new Stopwatch();
double next_render = 0.0, next_update = 0.0; double next_render = 0.0;
FrameEventArgs update_args = new FrameEventArgs();
FrameEventArgs render_args = new FrameEventArgs(); FrameEventArgs render_args = new FrameEventArgs();
#endregion #endregion
@ -382,7 +381,6 @@ namespace OpenTK
//Resize += DispatchUpdateAndRenderFrame; //Resize += DispatchUpdateAndRenderFrame;
Debug.Print("Entering main loop."); Debug.Print("Entering main loop.");
update_watch.Start();
render_watch.Start(); render_watch.Start();
while (true) while (true)
{ {