Mon jeu a différents types de bons et différents types de méchants. Ils tireront tous des projectiles l'un sur l'autre, mais je ne veux pas que des dommages collatéraux accidentels se produisent pour l'un ou l'autre alignement. Donc, les méchants ne devraient pas pouvoir frapper / endommager d'autres méchants et les bons ne devraient pas pouvoir frapper / endommager d'autres bons.
La façon dont je pense à résoudre ce problème est de faire en sorte que l' Unit
instance (c'est javascript, btw), ait une alignment
propriété qui peut être soit good
ou bad
. Et je ne laisserai la collision se produire que si le
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
C'est du pseudo-code, bien sûr.
Mais je pose cette question parce que j'ai l'impression qu'il pourrait y avoir une façon beaucoup plus élégante de concevoir cela en plus d'ajouter encore une autre propriété à ma Unit
classe.