Meu jogo tem muitos tipos diferentes de mocinhos e muitos tipos diferentes de bandidos. Todos estarão atirando projéteis um no outro, mas não quero que ocorram danos colaterais acidentais por qualquer alinhamento. Então, bandidos não devem ser capazes de atingir / danificar outros bandidos e bandidos não devem ser capazes de atingir / danificar outros bandidos.
A maneira como estou pensando em resolver isso é fazer com que a Unit
instância (isto é javascript, btw) tenha uma alignment
propriedade que possa ser um good
ou outro bad
. E eu só vou deixar a colisão acontecer se o
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
Isso é pseudo-código, é claro.
Mas estou fazendo essa pergunta porque tenho a sensação de que pode haver uma maneira muito mais elegante de projetar isso, além de adicionar mais uma propriedade à minha Unit
classe.