Тема: Абстракції в ООП і все таке
Страждаю зараз над однією грою, і хочу зробити, аби все було правильно з точки зору ООП. Аби були правильні залежності і т.д.
Уявімо собі, що у нас є два гравця, котрі стоять по різні боки ігрового поля. Посередині у нас є різні перешкоди.
Кожен гравець може стріляти кулькою. Якщо кулька потрапляє в перешкоду, то вона руйнює деяку частину цієї перешкоди і зникає, при цьому руйнування залежить від радіусу вибухової хвилі.
Якщо кулька потрапляє в іншого гравця, то вибухової хвилі нема, і кулька просто знімає з ураженого гравця частину хп.
В грі можуть бути декілька видів кульок, і кожен вид може мати свою характеристики, як радіус вибухової хвилі та кількість шкоди, котру кулька нанесе, якщо стукне іншого гравця.
Вся ця фігня працює через мережу, і всі важливі події відбуваються на стороні одного з клієнтів, а команди передаються на допомогою RPC.
Так от, питання. Чи правильно буде зробити так, аби сама кулька контролювала нанесення шкоди об'єктам, та іншому гравцю?
Наприклад, в момент, коли кулька вдаряється в щось, на цій самій кульці викликається RPC, котра повідомляє, що от ми вдарили такий-то об'єкт, одну вибухову хвилю в цій позиції, і сама кулька буде змінювати об'єкт, чи кількість життів іншого гравця.
Це норм, чи нє? Бо я думав створити якийсь обробник кульок, котрий містив би всі ці RPC, і кулька просто казала б йому, що от я стукнулася в такому місці, і той обробник вже б змінював об'єкти і кількість життів у гравців?