У моїй грі є багато різних типів хороших хлопців і багато різних типів поганих хлопців. Усі вони будуть стріляти снарядами один на одного, але я не хочу, щоб будь-яке побічне пошкодження відбувалося для будь-якого вирівнювання. Тож погані хлопці не повинні мати можливість вдарити / пошкодити інших поганих хлопців, а хороші хлопці не повинні мати змогу вдарити / пошкодити інших хороших хлопців.
Я думаю, що це вирішити, це зробити так, щоб Unit
екземпляр (це JavaScript, btw) мав alignment
властивість, яка може бути good
або bad
. І я дозволю зіткнення лише тоді, коли
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
Це, звичайно, псевдокод.
Але я задаю це питання, тому що я розумію, що може бути набагато більш елегантний спосіб розробити це, окрім додавання ще одного властивості до мого Unit
класу.