Вы всё правильно говорите, ещё можно было бы вынести функционал "убивания" юнитов в отдельную систему и создать для этого отдельный компонент. Это бы имело смысл, если бы кто-то кроме врагов имел возможность умереть, или как вы говорите была бы ещё какая-то механика использующая инпут. В данном случае я считаю это излишним усложнением, систем и компонентов будет больше, но ничего от этого не изменится. Ecs достаточно просто рефакторить и если вы видите что можно разделить одну систему чтобы её использовали разные фичи это нужно делать, но по факту, иначе вы потратите уйму времени на обдумывание того какой универсальной могла бы быть система и не напишите ни строчки кода.
Вы всё правильно говорите, ещё можно было бы вынести функционал "убивания" юнитов в отдельную систему и создать для этого отдельный компонент. Это бы имело смысл, если бы кто-то кроме врагов имел возможность умереть, или как вы говорите была бы ещё какая-то механика использующая инпут. В данном случае я считаю это излишним усложнением, систем и компонентов будет больше, но ничего от этого не изменится.
Ecs достаточно просто рефакторить и если вы видите что можно разделить одну систему чтобы её использовали разные фичи это нужно делать, но по факту, иначе вы потратите уйму времени на обдумывание того какой универсальной могла бы быть система и не напишите ни строчки кода.
Системы могут хранить какие-то служебные данные, которые не нужны игре. В данном случае хранить сущность игрока просто удобнее чем писать цикл.