Merge pull request #7093 from bojidar-bg/named-colors

Add named colors to GDScript/Visual Script/core.
This commit is contained in:
Rémi Verschelde 2017-01-11 10:36:15 +01:00 committed by GitHub
commit 57166cd292
7 changed files with 235 additions and 3 deletions

View file

@ -64,6 +64,7 @@ const char* VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX
"str2var",
"var2bytes",
"bytes2var",
"color_named",
};
VisualScriptBuiltinFunc::BuiltinFunc VisualScriptBuiltinFunc::find_function(const String& p_string) {
@ -164,6 +165,7 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
case LOGIC_MIN:
case FUNC_FUNCREF:
case TYPE_CONVERT:
case COLORN:
return 2;
case MATH_LERP:
case MATH_DECTIME:
@ -368,13 +370,11 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
return PropertyInfo(Variant::INT,"ascii");
} break;
case TEXT_STR: {
return PropertyInfo(Variant::NIL,"value");
} break;
case TEXT_PRINT: {
@ -406,6 +406,14 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
return PropertyInfo(Variant::POOL_BYTE_ARRAY,"bytes");
} break;
case COLORN: {
if (p_idx==0)
return PropertyInfo(Variant::STRING,"name");
else
return PropertyInfo(Variant::REAL,"alpha");
} break;
case FUNC_MAX:{}
}
@ -554,6 +562,9 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
case BYTES_TO_VAR: {
} break;
case COLORN: {
t=Variant::COLOR;
} break;
case FUNC_MAX:{}
}
@ -1104,6 +1115,16 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
*r_return=ret;
} break;
case VisualScriptBuiltinFunc::COLORN: {
VALIDATE_ARG_NUM(1);
Color color = Color::named(*p_inputs[0]);
color.a=*p_inputs[1];
*r_return=String(color);
} break;
default: {}
}
@ -1238,5 +1259,6 @@ void register_visual_script_builtin_func_node() {
VisualScriptLanguage::singleton->add_register_func("functions/built_in/str2var",create_builtin_func_node<VisualScriptBuiltinFunc::STR_TO_VAR>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/var2bytes",create_builtin_func_node<VisualScriptBuiltinFunc::VAR_TO_BYTES>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/bytes2var",create_builtin_func_node<VisualScriptBuiltinFunc::BYTES_TO_VAR>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/color_named",create_builtin_func_node<VisualScriptBuiltinFunc::COLORN>);
}