Подскажите, плз, как правильнее организовать ожидание наступления события в игре и таймаут, если событие не наступило.
Например, необходимо дождаться присоединения какого-нить игрока к игре.
Как сделано у меня пока:

Код AS3:
private function checkGamerPresence() {
if (UserNotPresent) {
// нужного игрока нет, проверяем раз в 1 сек
_timeout_id_user_presence = setTimeout(checkGamerPresence, 1000);
}
else
{
// нужный игрок появился, останавливаем таймер
clearTimeout(_timeout_id_user_presence);
}
}
Вопросы - насколько верен такой подход?
Как добавить таймаут? Ввести некий counter и подсчитывать сколько раз мы делали проверку?