hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/core/state.h
blob: f4fe9b37f2d55ced7d2f584cddbaff478bccf8a4 (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 void on_enter()                 = 0;
        virtual void on_exit()                  = 0;
        virtual void on_update(float delta_time) = 0;
        virtual void on_render()                = 0;
        virtual void on_im_ui_render()            = 0;
        virtual void on_event(Event& event)     = 0;
    };
};