This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
glyphs-juke/src/iScene.h

38 lines
638 B
C++

#pragma once
#include <cstdint>
#include "Frame.h"
#include "iAllocator.h"
#include "iAudioDevice.h"
#include "iClock.h"
#include "iDrawable.h"
#include "iWritable.h"
namespace gj {
class iScene {
public:
struct Param {
iAllocator* alloc;
iAudioDevice* audio;
const iClock* clock;
};
iScene() = default;
iScene(iScene&&) = default;
iScene(const iScene&) = default;
iScene& operator=(iScene&&) = default;
iScene& operator=(const iScene&) = default;
virtual ~iScene() = default;
/* Returns next scene if this scene ends, otherwise nullptr. */
virtual UniqPtr<iScene> Update(Frame& f) = 0;
};
}