1. Громкость меняется не всегда, есть моменты когда сигнализация выключена, поэтому менять громкость постоянно нерационально. Вместо этого лучше сделать так, чтобы для изменения громкости запускалась корутина, а когда процесс изменения закончен выключалась
2. При входе/выходе из зоны сигнализации, нужно проверять с каким-именно объектом мы столкнулись, ведь это может быть не жулик
3. Разделите ответственности. Задача сигнализации это менять громкость, а контролем за входом/выходом должна заниматься другая сущностьИсправленный вариант: https://github.com/NoNameDeleted/burglar-alarm/tree/0ad79f27401091f23190c249de8066308f520299
Мои мысли по каждому пункту:
1) Сделал изменение громкости максимально просто на сколько это возможно, но это оказалось не очень оптимизированно.
2) У меня на сцене нет никого кроме дома и жулика так что я решил что эта проверка бессмысленна, но ладно добавил
3) Я сначала сделал всего один скрипт для дома с логикой сигнализации. Потому что этот скрипт был очень маленький и не увидел причин для его разделения. И даже сейчас когда разделил ответственность на два скрипта я всё равно считаю что это оверинжениринг