载入中...
搜索中...
未找到
ReflectScript.cpp
浏览该文件的文档.
39 if (instance.getType() != ssq::Type::INSTANCE || name.empty()) return nullObject(instance.getHandle());
52ssq::Object readArrayElement(const ssq::Object& instance, const std::string& name, size_t index) {
53 if (instance.getType() != ssq::Type::INSTANCE || name.empty()) return nullObject(instance.getHandle());
71ssq::Object readTableValue(const ssq::Object& instance, const std::string& name, const std::string& key) {
72 if (instance.getType() != ssq::Type::INSTANCE || name.empty()) return nullObject(instance.getHandle());
116ssq::Table memberTable(ssq::VM& vm, const ReflectedMember& member, const ssq::Object* instance) {
142 for (const ReflectedMember& member : cls.members) members.push(memberTable(vm, member, nullptr));
181 reflect.addFunc("createInstance", [&runtime](std::string name) { return runtime.createInstance(name); });
183 reflect.addFunc("classNameOf", [&runtime](const ssq::Object& instance) { return runtime.classNameOf(instance); });
196 reflect.addFunc("write", [&runtime](const ssq::Object& instance, std::string name, const ssq::Object& value) {
215 [&runtime](const ssq::Object& instance, std::string name, int index, const ssq::Object& value) {
221 reflect.addFunc("arrayAppend", [&runtime](const ssq::Object& instance, std::string name, const ssq::Object& value) {
227 reflect.addFunc("arrayRemove", [&runtime](const ssq::Object& instance, std::string name, int index) {
237 reflect.addFunc("tableGet", [](const ssq::Object& instance, std::string name, std::string key) {
241 reflect.addFunc("tableSet", [&runtime](const ssq::Object& instance, std::string name, std::string key,
std::map< std::string, std::span< const std::uint8_t > > members
Definition UnityPackage.cpp:81
@ Compiled
@ Running
@ Unloading
@ Loaded
@ Unloaded
@ Failed
void exposeReflection(Runtime &runtime, ssq::Table eveTable)
Exposes the Runtime reflection API to scripts as eve.reflect.
Definition ReflectScript.cpp:163