예제 #1
0
        void OrderColliders(CollisionStartEvent collisionStartEvent)
        {
            Entity entityA = collisionStartEvent.EntityA;
            Entity entityB = collisionStartEvent.EntityB;

            if (!edgeFamily.Matches(entityA) && edgeFamily.Matches(entityB))
            {
                HandleBounceCollision(entityB, entityA);
            }
            else if (edgeFamily.Matches(entityA) && !edgeFamily.Matches(entityB))
            {
                HandleBounceCollision(entityA, entityB);
            }
            else if (projectileFamily.Matches(entityA) && playerShieldFamily.Matches(entityB))
            {
                HandleBounceCollision(entityB, entityA);
            }
            else if (playerShieldFamily.Matches(entityA) && projectileFamily.Matches(entityB))
            {
                HandleBounceCollision(entityA, entityB);
            }
            else if (playerShipFamily.Matches(entityA) && playerShipFamily.Matches(entityB))
            {
                HandleBounceCollision(entityA, entityB);
            }
        }
 private void HandleCollisionStartEvent(CollisionStartEvent collisionStartEvent)
 {
     if (playerShipFamily.Matches(collisionStartEvent.EntityA) &&
         edgeEntityFamily.Matches(collisionStartEvent.EntityB))
     {
         HandleEnemyShipOnPlayer(collisionStartEvent.EntityA);
     }
     else if (edgeEntityFamily.Matches(collisionStartEvent.EntityA) &&
              playerShipFamily.Matches(collisionStartEvent.EntityB))
     {
         HandleEnemyShipOnPlayer(collisionStartEvent.EntityB);
     }
 }
예제 #3
0
 private void HandleCollisionStartEvent(CollisionStartEvent collisionStartEvent)
 {
     if (collisionStartEvent.entityA.HasComponent <PlayerShieldComponent>() &&
         collisionStartEvent.entityB.HasComponent <ProjectileComponent>())
     {
         BounceBulletOffShield(collisionStartEvent.entityA, collisionStartEvent.entityB);
     }
     if (collisionStartEvent.entityB.HasComponent <PlayerShieldComponent>() &&
         collisionStartEvent.entityA.HasComponent <ProjectileComponent>())
     {
         BounceBulletOffShield(collisionStartEvent.entityB, collisionStartEvent.entityA);
     }
 }
예제 #4
0
 private void HandleCollisionStartEvent(CollisionStartEvent collisionStartEvent)
 {
     if (collisionStartEvent.entityA.HasComponent <PlayerShieldComponent>() &&
         collisionStartEvent.entityB.HasComponent <KamikazeComponent>())
     {
         HandleKamikazeOnPlayer(collisionStartEvent.entityA, collisionStartEvent.entityB);
     }
     else if (collisionStartEvent.entityB.HasComponent <PlayerShieldComponent>() &&
              collisionStartEvent.entityA.HasComponent <KamikazeComponent>())
     {
         HandleKamikazeOnPlayer(collisionStartEvent.entityB, collisionStartEvent.entityA);
     }
 }
 private void HandleCollisionStartEvent(CollisionStartEvent collisionStartEvent)
 {
     if (enemyFamily.Matches(collisionStartEvent.EntityA) &&
         projectileFamily.Matches(collisionStartEvent.EntityB))
     {
         EnemyHazardCollision(collisionStartEvent.EntityA, collisionStartEvent.EntityB);
     }
     if (enemyFamily.Matches(collisionStartEvent.EntityB) &&
         projectileFamily.Matches(collisionStartEvent.EntityA))
     {
         EnemyHazardCollision(collisionStartEvent.EntityB, collisionStartEvent.EntityA);
     }
 }
예제 #6
0
        private void OrderColliders(CollisionStartEvent collisionStartEvent)
        {
            Entity entityA = collisionStartEvent.EntityA;
            Entity entityB = collisionStartEvent.EntityB;

            if (enemyFamily.Matches(entityA) && playerShipFamily.Matches(entityB))
            {
                HandleCollisionStart(entityB, entityA);
            }
            else if (playerShipFamily.Matches(entityA) && enemyFamily.Matches(entityB))
            {
                HandleCollisionStart(entityA, entityB);
            }
        }
예제 #7
0
        void OrderColliders(CollisionStartEvent collisionStartEvent)
        {
            Entity entityA = collisionStartEvent.entityA;
            Entity entityB = collisionStartEvent.entityB;

            if (entityA.HasComponent <EnemyComponent>() && entityB.HasComponent <PlayerShieldComponent>())
            {
                HandleCollisionStart(entityB, entityA);
            }
            else
            {
                HandleCollisionStart(entityA, entityB);
            }
        }
예제 #8
0
        void OrderColliders(CollisionStartEvent collisionStartEvent)
        {
            Entity entityA = collisionStartEvent.entityA;
            Entity entityB = collisionStartEvent.entityB;

            if (!(entityA.HasComponent <EdgeComponent>()) && entityB.HasComponent <EdgeComponent>())
            {
                HandleBounceCollision(entityB, entityA);
            }
            else if ((entityA.HasComponent <EdgeComponent>()) && !entityB.HasComponent <EdgeComponent>())
            {
                HandleBounceCollision(entityA, entityB);
            }
        }
예제 #9
0
 private void HandleCollisionStartEvent(CollisionStartEvent collisionStartEvent)
 {
     if (collisionStartEvent.entityA.HasComponent <EnemyComponent>() &&
         !collisionStartEvent.entityA.HasComponent <ProjectileComponent>() &&
         collisionStartEvent.entityB.HasComponent <ProjectileComponent>())
     {
         EnemyProjectileCollision(collisionStartEvent.entityA, collisionStartEvent.entityB);
     }
     if (collisionStartEvent.entityB.HasComponent <EnemyComponent>() &&
         !collisionStartEvent.entityB.HasComponent <ProjectileComponent>() &&
         collisionStartEvent.entityA.HasComponent <ProjectileComponent>())
     {
         EnemyProjectileCollision(collisionStartEvent.entityB, collisionStartEvent.entityA);
     }
 }