#pragma once #include #include namespace OpenRCT2::Scripting { class ScDisposable { private: std::function _onDispose; public: ScDisposable(std::function onDispose) : _onDispose(onDispose) { } void dispose() { if (_onDispose) { _onDispose(); } } static void Register(duk_context * ctx) { dukglue_register_method(ctx, &ScDisposable::dispose, "dispose"); } }; }