27 lines
570 B
C++
27 lines
570 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include "Shared.h"
|
|
#include "Platform/Window.h"
|
|
|
|
namespace Artifact {
|
|
|
|
/// The client class.
|
|
class Client: public Engine<BaseSubsystem> {
|
|
public:
|
|
Window * window = nullptr;
|
|
|
|
void addDefaultSubsystems();
|
|
void initDefault();
|
|
/// Initializes the client. This includes opening a window, creating a WebGPU device, etc.
|
|
void init();
|
|
/// Runs a single iteration of the render loop.
|
|
void render();
|
|
/// Runs a single iteration of the tick loop.
|
|
void tick();
|
|
/// Runs the client.
|
|
void run();
|
|
};
|
|
|
|
}
|