Mono: Improve 'script class not found' error
No longer printed when using using placeholder script instances (for non-tool scripts in the editor).
Print different error if the project assembly is not loaded
(cherry picked from commit c8945fe7d8
)
This commit is contained in:
parent
d1e5677fe6
commit
9945da3efc
|
@ -1954,11 +1954,6 @@ Variant CSharpScript::_new(const Variant **p_args, int p_argcount, Variant::Call
|
||||||
|
|
||||||
ScriptInstance *CSharpScript::instance_create(Object *p_this) {
|
ScriptInstance *CSharpScript::instance_create(Object *p_this) {
|
||||||
|
|
||||||
if (!script_class) {
|
|
||||||
ERR_EXPLAIN("Cannot find class " + name + " for script " + get_path());
|
|
||||||
ERR_FAIL_V(NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
ERR_FAIL_COND_V(!valid, NULL);
|
ERR_FAIL_COND_V(!valid, NULL);
|
||||||
|
|
||||||
if (!tool && !ScriptServer::is_scripting_enabled()) {
|
if (!tool && !ScriptServer::is_scripting_enabled()) {
|
||||||
|
@ -1973,6 +1968,18 @@ ScriptInstance *CSharpScript::instance_create(Object *p_this) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!script_class) {
|
||||||
|
if (GDMono::get_singleton()->get_project_assembly() == NULL) {
|
||||||
|
// The project assembly is not loaded
|
||||||
|
ERR_EXPLAIN("Cannot instance script because the project assembly is not loaded. Script: " + get_path());
|
||||||
|
ERR_FAIL_V(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The project assembly is loaded, but the class could not found
|
||||||
|
ERR_EXPLAIN("Cannot instance script because the class '" + name + "' could not be found. Script: " + get_path());
|
||||||
|
ERR_FAIL_V(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
update_signals();
|
update_signals();
|
||||||
|
|
||||||
if (native) {
|
if (native) {
|
||||||
|
|
Loading…
Reference in New Issue