diff options
author | Gen <z.rz2323721@gmail.com> | 2015-08-01 14:02:10 +0800 |
---|---|---|
committer | Gen <z.rz2323721@gmail.com> | 2015-08-01 14:02:10 +0800 |
commit | 7843ec6633625455e689e711aa62e9d8337689fa (patch) | |
tree | 5718f14aec592ca1fd0064b4f26125b0e8c10fc4 /modules/gdscript/gd_parser.cpp | |
parent | 922356b903061cda7591090bf19e8346c3a78cf5 (diff) |
add flag and multiline hits in GDScript
`export (flag) var test` for PROPERTY_HINT_ALL_FLAGS
`export (multiline) var test` for PROPERTY_HINT_MULTILINE_TEXT
Diffstat (limited to 'modules/gdscript/gd_parser.cpp')
-rw-r--r-- | modules/gdscript/gd_parser.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index afe8c9aa71..755997ef31 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -2542,16 +2542,23 @@ void GDParser::_parse_class(ClassNode *p_class) { } else if (tokenizer->get_token()==GDTokenizer::TK_IDENTIFIER) { String identifier = tokenizer->get_token_identifier(); - if (!ObjectTypeDB::is_type(identifier,"Resource")) { - - current_export=PropertyInfo(); - _set_error("Export hint not a type or resource."); + if (identifier == "flag") { + current_export.type=Variant::INT; + current_export.hint=PROPERTY_HINT_ALL_FLAGS; + }else if (identifier == "multiline"){ + current_export.type=Variant::STRING; + current_export.hint=PROPERTY_HINT_MULTILINE_TEXT; + } else { + if (!ObjectTypeDB::is_type(identifier,"Resource")) { + + current_export=PropertyInfo(); + _set_error("Export hint not a type or resource."); + } + + current_export.type=Variant::OBJECT; + current_export.hint=PROPERTY_HINT_RESOURCE_TYPE; + current_export.hint_string=identifier; } - - current_export.type=Variant::OBJECT; - current_export.hint=PROPERTY_HINT_RESOURCE_TYPE; - current_export.hint_string=identifier; - tokenizer->advance(); } |