project-kyoku/include/core/game.h

25 lines
393 B
C
Raw Normal View History

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