mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-10-06 20:46:21 -04:00
38 lines
999 B
C#
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 );
|
|
}
|
|
}
|