2#ifndef LIBSBX_SCRIPTING_SCRIPTING_MODULE_HPP_
3#define LIBSBX_SCRIPTING_SCRIPTING_MODULE_HPP_
9#include <unordered_map>
13#include <libsbx/utility/hashed_string.hpp>
15#include <libsbx/core/module.hpp>
17#include <libsbx/scenes/node.hpp>
18#include <libsbx/scenes/scenes_module.hpp>
20#include <libsbx/filesystem/filesystem_module.hpp>
22#include <libsbx/scripting/managed/runtime.hpp>
24namespace sbx::scripting {
27 std::vector<managed::object> instances;
31 std::string type_name;
32 std::string method_name;
38 inline static const auto is_registered = register_module(stage::normal, dependencies<scenes::scenes_module, filesystem::filesystem_module>{});
46 auto update() ->
void override;
48 auto load_assembly(
const std::filesystem::path& assembly_path, std::initializer_list<internal_call> bindings = {}) ->
void;
54 static auto _exception_callback(std::string_view message) ->
void {
58 std::filesystem::path _assembly_path;
Definition: module.hpp:92
Definition: assembly.hpp:63
Definition: assembly.hpp:27
Definition: object.hpp:89
Definition: runtime.hpp:35
Definition: scripting_module.hpp:36
Definition: scripting_module.hpp:30
Definition: scripting_module.hpp:26
Definition: exception.hpp:18