charcoal/Example/MyApplication.h

47 lines
1006 B
C++

#pragma once
#include <charcoal/Application.h>
#include <charcoal/Scene.h>
#include "MyBasicScene.h"
#include "MySimple2DScene.h"
#include "MySimple3DScene.h"
#include "MySimpleCubeScene.h"
#include "MyBuiltinCubeScene.h"
#include "MyBuiltinTexturedScene.h"
#include "MyBuiltinLitScene.h"
#include "MyPongScene.h"
using namespace charcoal;
class MyApplication : public Application
{
public:
MyApplication(int width = -1, int height = -1);
protected:
void init() override;
void update(float delta_time, clock_t clock) override;
void prerender() override;
void render() override;
void close() override;
private:
void swap_scene(Scene* scene);
Scene* m_p_current_scene = nullptr;
MyBasicScene m_basic_scene;
MySimple2DScene m_simple_2d_scene;
MySimple3DScene m_simple_3d_scene;
MySimpleCubeScene m_simple_cube_scene;
MyBuiltinCubeScene m_builtin_basic_cube_scene;
MyBuiltinTexturedScene m_builtin_textured_scene;
MyBuiltinLitScene m_builtin_lit_scene;
MyPongScene m_pong_scene;
};