VoxelEngine/src/logic/scripting/scripting_functional.hpp

79 lines
2.0 KiB
C++

#pragma once
#include <glm/glm.hpp>
#include <string>
#include "data/dv.hpp"
#include "delegates.hpp"
#include "typedefs.hpp"
namespace scripting {
using common_func = std::function<dv::value(const std::vector<dv::value>&)>;
runnable create_runnable(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
wstringconsumer create_wstring_consumer(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
wstringsupplier create_wstring_supplier(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
wstringchecker create_wstring_validator(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
boolconsumer create_bool_consumer(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
boolsupplier create_bool_supplier(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
doubleconsumer create_number_consumer(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
doublesupplier create_number_supplier(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
int_array_consumer create_int_array_consumer(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
vec2supplier create_vec2_supplier(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
dv::to_string_func create_tostring(
const scriptenv& env,
const std::string& src,
const std::string& file = "<string>"
);
}