diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-06-11 18:31:22 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-06-11 18:34:49 -0300 |
commit | 9ddc13a5ccdfdb67950bb198a6e56868f64e8852 (patch) | |
tree | 7d23b1ed2a1d1c554c409255e825972ef0abd9bb | |
parent | 3b2c96139b39ddcfbadcd21b61e5c1ff608ad95e (diff) |
-All variables from script are visible through get_property_list(), not just those with export()
-Added PROPERTY_USAGE_SCRIPT_VARIABLE to identify what comes from script
-closes #5146
-rw-r--r-- | core/global_constants.cpp | 1 | ||||
-rw-r--r-- | core/object.h | 1 | ||||
-rw-r--r-- | modules/gdscript/gd_compiler.cpp | 3 | ||||
-rw-r--r-- | modules/gdscript/gd_parser.cpp | 4 |
4 files changed, 9 insertions, 0 deletions
diff --git a/core/global_constants.cpp b/core/global_constants.cpp index 63764383ff..2594be63ac 100644 --- a/core/global_constants.cpp +++ b/core/global_constants.cpp @@ -489,6 +489,7 @@ static _GlobalConstant _global_constants[]={ BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_STORE_IF_NONONE ), BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_NO_INSTANCE_STATE ), BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_RESTART_IF_CHANGED ), + BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_SCRIPT_VARIABLE ), BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_DEFAULT ), BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_DEFAULT_INTL ), diff --git a/core/object.h b/core/object.h index 9359f4d4b2..a27e8c7dd8 100644 --- a/core/object.h +++ b/core/object.h @@ -86,6 +86,7 @@ enum PropertyUsageFlags { PROPERTY_USAGE_STORE_IF_NONONE=1024, //only store if false PROPERTY_USAGE_NO_INSTANCE_STATE=2048, PROPERTY_USAGE_RESTART_IF_CHANGED=4096, + PROPERTY_USAGE_SCRIPT_VARIABLE=8192, PROPERTY_USAGE_DEFAULT=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK, PROPERTY_USAGE_DEFAULT_INTL=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK|PROPERTY_USAGE_INTERNATIONALIZED, diff --git a/modules/gdscript/gd_compiler.cpp b/modules/gdscript/gd_compiler.cpp index d51f1a4ddc..7481eac620 100644 --- a/modules/gdscript/gd_compiler.cpp +++ b/modules/gdscript/gd_compiler.cpp @@ -1611,6 +1611,9 @@ Error GDCompiler::_parse_class(GDScript *p_script, GDScript *p_owner, const GDPa p_script->member_default_values[name]=p_class->variables[i].default_value; } #endif + } else { + + p_script->member_info[name]=PropertyInfo(Variant::NIL,name,PROPERTY_HINT_NONE,"",PROPERTY_USAGE_SCRIPT_VARIABLE); } //int new_idx = p_script->member_indices.size(); diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index 9e90027a70..3aff134327 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -2408,6 +2408,7 @@ void GDParser::_parse_class(ClassNode *p_class) { return; } current_export.type=type; + current_export.usage|=PROPERTY_USAGE_SCRIPT_VARIABLE; tokenizer->advance(); if (tokenizer->get_token()==GDTokenizer::TK_COMMA) { // hint expected next! @@ -2782,6 +2783,8 @@ void GDParser::_parse_class(ClassNode *p_class) { current_export.type=Variant::OBJECT; current_export.hint=PROPERTY_HINT_RESOURCE_TYPE; + current_export.usage|=PROPERTY_USAGE_SCRIPT_VARIABLE; + current_export.hint_string=identifier; tokenizer->advance(); @@ -2901,6 +2904,7 @@ void GDParser::_parse_class(ClassNode *p_class) { return; } member._export.type=cn->value.get_type(); + member._export.usage|=PROPERTY_USAGE_SCRIPT_VARIABLE; } } #ifdef TOOLS_ENABLED |