Moja gra ma wiele różnych rodzajów dobrych facetów i wiele różnych rodzajów złych facetów. Wszystkie będą strzelały do siebie, ale nie chcę, aby przypadkowe obrażenia wystąpiły w obu liniach. Więc źli nie powinni być w stanie trafić / zranić innych złych, a dobrzy nie powinni być w stanie trafić / zranić innych dobrych.
Sposób, w jaki myślę o rozwiązaniu jest to przez co czyni go tak, że Unitinstancja (to jest javascript, btw), posiada alignmentwłaściwości, które mogą być goodalbo bad. I pozwolę na kolizję tylko wtedy, gdy
class Attack
boolean didAttackCollideWithTarget(target)
return attack.source.alignment != target.alignment and collisionDetected(attack.source, target)
Oczywiście jest to pseudo-kod.
Ale zadaję to pytanie, ponieważ mam wrażenie, że może istnieć o wiele bardziej elegancki sposób zaprojektowania tego, oprócz dodania jeszcze jednej właściwości do mojej Unitklasy.