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' Unitinstance (c'est javascript, btw), ait une alignmentpropriété qui peut être soit goodou 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 Unitclasse.