так "разосрано" по разным это принцып единственной ответственности
Single responsibility это когда каждый несёт ответственность за конкретно самого себя, представляет с себя конкретную сущность с единой конкретной задачей.
А в сети в основном скрипты где всё в перемешку.
Тесть например имеем игровые объекты
1. Счётчик очков.
2. Препятствие.
3. Игрок.
Счётчик должен увеличиваться после прохождения препятствия игроком.
Отследить было ли пройдено препятствие можно проверив одно из его свойств.
Препятствия спавнятся скриптом спавна, а двигается - скриптом движения.
Получается мне в этом скрипте движения нужно в update проверять это самое свойство isPassed.
Допустим проверил, оно тру.
Теперь нужно, что бы счётчик увеличил своё значение.
Что бы это стало возможным то нужно, что бы он внутри своего скрипта, в методе update получил значение свойства isPassed. А он этого сделать никаким образом не может.
Потому приходится перенносить переменную количества очков в скрипт движения препятствий и делать статической. Таким образом игровой обьект счётчика очков в своём скрипте в update берёт эту статическую переменную и обновляет свой внешний вид.
И где тут выполнения принципа SR ? Получилась полная каша.
Я как раз к тому и стремлюсь, что бы всё было структурировано. Но у меня уже голова начинает болеть.
Не поймите как наезд, я просто хочу разобраться во всём этом и у меня пока что ничего не получается...