MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / do_task

Method do_task

utility/gdre_settings.cpp:2109–2148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2107 }
2108
2109 void do_task(int i, ScriptCacheTaskToken *tokens) {
2110 Ref<Script> script = ResourceCompatLoader::custom_load(tokens[i].orig_path, "", ResourceInfo::LoadType::REAL_LOAD, nullptr, false, ResourceFormatLoader::CACHE_MODE_REPLACE);
2111 if (script.is_valid()) {
2112 tokens[i].script = script;
2113 // {
2114 // "base": &"Node",
2115 // "class": &"AudioManager",
2116 // "icon": "",
2117 // "is_abstract": false,
2118 // "is_tool": false,
2119 // "language": &"GDScript",
2120 // "path": "res://source/audio/audio_manager.gd"
2121 // }
2122 auto global_name = script->get_global_name();
2123
2124 if (global_name.is_empty()) {
2125 return; // don't populate the cache for this script
2126 }
2127
2128 Ref<FakeScript> fake_script = script;
2129 String icon_path;
2130 if (fake_script.is_valid()) {
2131 tokens[i].d.set("base", fake_script->get_direct_base_type());
2132 icon_path = fake_script->get_icon_path();
2133 } else {
2134 auto base_script = script->get_base_script();
2135 if (base_script.is_valid()) {
2136 tokens[i].d.set("base", base_script->get_global_name());
2137 } else {
2138 tokens[i].d.set("base", script->get_instance_base_type());
2139 }
2140 }
2141 tokens[i].d.set("class", script->get_global_name());
2142 tokens[i].d.set("icon", icon_path);
2143 tokens[i].d.set("is_abstract", script->is_abstract());
2144 tokens[i].d.set("is_tool", script->is_tool());
2145 tokens[i].d.set("language", tokens[i].is_gdscript ? SNAME("GDScript") : SNAME("C#"));
2146 tokens[i].d.set("path", tokens[i].orig_path);
2147 }
2148 }
2149};
2150} //namespace
2151

Callers 1

Calls 9

setMethod · 0.80
get_direct_base_typeMethod · 0.80
is_validMethod · 0.45
get_global_nameMethod · 0.45
get_icon_pathMethod · 0.45
get_base_scriptMethod · 0.45
is_abstractMethod · 0.45
is_toolMethod · 0.45

Tested by

no test coverage detected