У меня есть игровой цикл, который запускается 60 раз в секунду. Внутри этого цикла я делаю различные операции, которые в основном обрабатывают игровую логику. Это выглядит примерно так:
void Update()
{
RunLogic();
}
void RunLogic()
{
// running logic
}
Теперь я хочу вызывать RunLogic, только если условие истинно. Поэтому я добавляю оператор if.
void Update()
{
if (condition == true)
{
RunLogic();
}
}
void RunLogic()
{
// running logic
}
Но это не выглядит хорошо, потому что это добавляет вложение. Так что попробуйте что-то вроде этого:
void Update()
{
RunLogic();
}
void RunLogic()
{
if (condition == false)
return;
// running logic
}
Теперь логика внутри, без вложенности из-за предложения охраны. Но сейчас трудно сказать, будет ли RunLogic работать постоянно, если посмотреть только на цикл обновления.
Подобные вещи заставляют меня переключаться между этими двумя вариантами, и я не могу согласиться ни с одним из решений.
Чтобы добавить, такие методы, как RunLogic, никогда не используются повторно в других местах, только внутри цикла обновления.