/******************************************************************************
*	File		-	base_scene.h
*	Author		-	Joey Pollack
*	Date		-	2021/10/27 (y/m/d)
*	Mod Date	-	2021/10/27 (y/m/d)
*	Description	-	The interface class for tester scenes
******************************************************************************/

#ifndef BASE_SCENE_H_
#define BASE_SCENE_H_

#include <input/input_manager.h>
#include <input/keyboard.h>

namespace lunarium
{
    class IGraphics;
    class BaseScene
    {
    public:
        BaseScene(uint32_t logCat);
        virtual void OnLoad();
        virtual void OnTick(double delta);
        virtual void OnRender(IGraphics* g);
        virtual void OnKeyPress(InputManager::KeyPress kp);
        virtual void OnKeyRelease(Keyboard::Key k);

    protected:
        uint32_t mLogCat;
    };
}

#endif  // BASE_SCENE_H_