2016-05-13 19:49:39 +10:00

38 lines
999 B
C#

// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT
using System;
using ClassicalSharp.Events;
using ClassicalSharp.GraphicsAPI;
using ClassicalSharp.Map;
namespace ClassicalSharp.Renderers {
public abstract class EnvRenderer : IGameComponent {
protected World map;
protected Game game;
protected IGraphicsApi graphics;
public virtual void Init( Game game ) {
this.game = game;
map = game.World;
graphics = game.Graphics;
game.WorldEvents.EnvVariableChanged += EnvVariableChanged;
}
public void Ready( Game game ) { }
public virtual void Reset( Game game ) { OnNewMap( game ); }
public abstract void OnNewMap( Game game );
public abstract void OnNewMapLoaded( Game game );
public virtual void Dispose() {
game.WorldEvents.EnvVariableChanged -= EnvVariableChanged;
}
public abstract void Render( double deltaTime );
protected abstract void EnvVariableChanged( object sender, EnvVarEventArgs e );
}
}