project-kyoku/include/core/game.h

25 lines
393 B
C
Raw Normal View History

2021-10-05 20:48:28 +02:00
#pragma once
2021-12-29 15:59:18 +01:00
#include "core/gameevent.h"
#include "core/updatedata.h"
2021-12-29 15:59:18 +01:00
namespace kku
{
2022-05-08 05:43:12 +02:00
/// Game
///
/// Functional aggregation of
/// logic for actual game mode
class Game
{
public:
virtual ~Game() = default;
virtual void run() = 0;
2021-12-29 15:59:18 +01:00
virtual void input(GameEvent&& inputdata) = 0;
virtual void update(UpdateData&& updatedata) = 0;
virtual void display() const = 0;
};
2021-12-29 15:59:18 +01:00
2022-05-08 05:43:12 +02:00
}