MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / MakeSpecialTableBase

Function MakeSpecialTableBase

TombEngine/Scripting/Internal/ScriptUtil.cpp:4–18  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2#include "Scripting/Internal/ScriptUtil.h"
3
4sol::table MakeSpecialTableBase(sol::state* state, const std::string& name)
5{
6 std::string metaName{ name + "Meta" };
7 auto meta = sol::table{ *state, sol::create };
8 state->set(metaName, meta);
9
10 meta.set("__metatable", "\"metatable is protected\"");
11 state->safe_script("rawset(_G, \"" + name + "\", {})");
12
13 auto tab = (*state)[name];
14 tab[sol::metatable_key] = meta;
15 state->set(metaName, sol::nil);
16
17 return meta;
18}

Callers 1

MakeSpecialTableFunction · 0.85

Calls 2

safe_scriptMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected