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

@ -109,6 +109,7 @@ const char *GDFunctions::get_func_name(Function p_func) {
"to_json",
"hash",
"Color8",
"ColorN",
"print_stack",
"instance_from_id",
};
@ -1116,6 +1117,36 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va
r_ret=color;
} break;
case COLORN: {
if (p_arg_count<1) {
r_error.error=Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
r_error.argument=1;
r_ret=Variant();
return;
}
if (p_arg_count>2) {
r_error.error=Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS;
r_error.argument=2;
r_ret=Variant();
return;
}
if (p_args[0]->get_type()!=Variant::STRING) {
r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
r_error.argument=0;
r_ret=Variant();
} else {
Color color = Color::named(*p_args[0]);
if (p_arg_count==2) {
VALIDATE_ARG_NUM(1);
color.a=*p_args[1];
}
r_ret=color;
}
} break;
case PRINT_STACK: {
@ -1596,6 +1627,12 @@ MethodInfo GDFunctions::get_info(Function p_func) {
mi.return_val.type=Variant::COLOR;
return mi;
} break;
case COLORN: {
MethodInfo mi("ColorN",PropertyInfo(Variant::STRING,"name"),PropertyInfo(Variant::REAL,"alpha"));
mi.return_val.type=Variant::COLOR;
return mi;
} break;
case PRINT_STACK: {
MethodInfo mi("print_stack");