4
그냥 "지연의 redaclaration"을 제공합니다. 이것을 변경하여 지연이 doSay(text)
의 호출에 전달되지 않으면 지연은 1000이되어야하지만 doSay(text, 9000)
으로 호출되면 지연은 9000이어야합니다.매개 변수가 전달되지 않으면 기본값을 사용하십시오
여기 제가 시도했지만, 작동하지 않았습니다.
uint32_t delay = MINTICKS;
if (parameters > 1) {
delay = std::max(delay, popNumber(L));
} else {
uint32_t delay = 1000;
}
, 함수에 기본 매개 변수를 전달 함수 선언이 구문을 사용하려면
int PersonInterface::luaActionSay(lua_State* L)
{
//doSay(text, <optional> delay)
int32_t parameters = lua_gettop(L);
uint32_t delay = MINTICKS;
if (parameters > 1) {
delay = std::max(delay, popNumber(L));
}
std::string msg(popString(L));
ScriptEnviroment* env = getScriptEnv();
Person* person = env->getPerson();
if(person){
person->doSay(msg, delay);
}
return 0;
}