/******************************************************************************
*	File		-	physics_scene.h
*	Author		-	Joey Pollack
*	Date		-	2021/10/27 (y/m/d)
*	Mod Date	-	2021/10/27 (y/m/d)
*	Description	-	Displays a scene that tests the Box2D physics system
******************************************************************************/

#ifndef PHYSICS_SCENE_H_
#define PHYSICS_SCENE_H_

#include "base_scene.h"
#include <box2d/box2d.h>

namespace lunarium
{
    class PhysicsScene : public BaseScene
    {
    public:
        PhysicsScene(uint32_t logCat);
        ~PhysicsScene();
        virtual void OnLoad();
        virtual void OnTick(double delta);
        virtual void OnRender(IGraphics* g);

    private:
        b2World* mb2World;
        b2Body* mpGroundBody;
        b2Body* mpGroundBody2;
        b2PolygonShape* mpGroundBox;
        b2PolygonShape* mpGroundBox2;
        b2Body* mpDynamicBody;
        b2PolygonShape* mpDynamicBox;
        b2AABB*         mpDynAABB;
    };
}

#endif  // PHYSICS_SCENE_H_