aboutsummaryrefslogtreecommitdiff
path: root/src/core/state.h
blob: 623f1c2d9dae2609de43b7054b22f106dc6abb20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include "event.h"

namespace Donut
{
    class State
    {
    public:
        virtual ~State() = default;

        virtual auto on_enter() -> void                  = 0;
        virtual auto on_exit() -> void                   = 0;
        virtual auto on_update(float delta_time) -> void = 0;
        virtual auto on_render() -> void                 = 0;
        virtual auto on_im_ui_render() -> void           = 0;
        virtual auto on_event(Event& event) -> void      = 0;
    };
};