forked from NaiJi/project-kyoku
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
537 B
C
28 lines
537 B
C
2 years ago
|
#pragma once
|
||
|
|
||
|
#include "core/editorcallback.h"
|
||
|
#include "core/functional.h"
|
||
|
|
||
|
class CallbackSimple : public kku::EditorCallback
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
struct Init
|
||
|
{
|
||
|
kku::lambda run;
|
||
|
kku::predicate is_enabled;
|
||
|
};
|
||
|
|
||
|
explicit CallbackSimple(Init&& init, Metadata&& metadata);
|
||
|
|
||
|
virtual bool isEnabled() const override;
|
||
|
virtual void run() const override;
|
||
|
|
||
|
virtual Metadata getMetadata() const override;
|
||
|
|
||
|
private:
|
||
|
const kku::lambda _run;
|
||
|
const kku::predicate _is_enabled;
|
||
|
const Metadata _metadata;
|
||
|
};
|