private Collision CollisionBetweenGameObjects(
            UnityEngine.GameObject colliderGameObject,
            UnityEngine.GameObject collideeGameObject)
        {
            var colliderEntity =
                gameObjects.EntityForGameObject(colliderGameObject);
            var collideeEntity =
                gameObjects.EntityForGameObject(collideeGameObject);
            var colliderBody         = bodies.BodyForEntity(colliderEntity);
            var resolvedColliderBody =
                colliderBody.TeleportTo(colliderGameObject.transform.position);

            colliderGameObject.transform.position = colliderBody.Location;
            var collideeBody = bodies.BodyForEntity(collideeEntity);

            if (collideeBody == null)
            {
                return(null);
            }
            var collision = Collision.BetweenBodies(
                resolvedColliderBody,
                collideeBody);

            return(collision);
        }
示例#2
0
 /// <inheritdoc/>
 public Body BodyForEntity(Guid entity)
 {
     return(bodies.BodyForEntity(entity));
 }