/******************************************************************************
*	File		-	testbed.h
*	Author		-	Joey Pollack
*	Date		-	2021/09/15 (y/m/d)
*	Mod Date	-	2021/09/15 (y/m/d)
*	Description	-	Run a series of tests to verify engine functionality
******************************************************************************/

#ifndef TESTER_H_
#define TESTER_H_

#include <core/run_mode.h>
#include <core/types.h>
#include "scenes/base_scene.h"

namespace lunarium
{
    class Image;
    
    class TestBed : public iRunMode
    {
    public:
        TestBed();
        OpRes Initialize();
        void Shutdown();
        void OnTick(double delta);
        void OnRender(IGraphics* g);
        void OnKeyPress(InputManager::KeyPress kp);

        void SwitchScene(int id);


    private:
        TestBed(const TestBed&) = delete;
        const TestBed& operator=(const TestBed&) = delete;

    private:    // Data
        uint32_t mLogCat;
        BaseScene* mpScene;


    private:    // Test methods
    };
}

#endif  // TESTER_H_