#pragma once

struct IDirect3DDevice8;



class GameState
{

  public:


    GameState();
    virtual ~GameState();


    virtual void            Display( IDirect3DDevice8* pDevice ) = 0;

    virtual void            UpdateFrame( const float ElapsedTime ) = 0;
    virtual void            UpdateFixed()
    {
    }

    virtual void            OnChar( int Char )
    {
    }

    virtual void            OnKeyDown( int Char )
    {
    }

    virtual void            OnMouse( int X, int Y, int Buttons )
    {
    }

    virtual void            OnMouseWheel( int Delta )
    {
    }

};
