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); }
public void Does_not_support_a_null_collidee_body() { var collider = new Guid("db8956a2-2b44-40a8-ab9e-8e0e4f064220"); var colliderLocation = new UnityEngine.Vector3(3.0f, 0.0f, 0.0f); var colliderBody = Body.ForEntityLocatedAt( collider, colliderLocation); Body collideeBody = null; Assert.Throws <ArgumentNullException>(() => { Collision.BetweenBodies( colliderBody, collideeBody); }); }
public void Does_not_support_a_null_collider_body() { Body colliderBody = null; var collidee = new Guid("0a35997f-1c46-426d-a9ee-dcbca907cae9"); var collideeLocation = new UnityEngine.Vector3(5.0f, 0.0f, 0.0f); var collideeBody = Body.ForEntityLocatedAt( collidee, collideeLocation); Assert.Throws <ArgumentNullException>(() => { Collision.BetweenBodies( colliderBody, collideeBody); }); }
private static Collision CreateCollision() { var collider = new Guid("db8956a2-2b44-40a8-ab9e-8e0e4f064220"); var colliderLocation = new UnityEngine.Vector3(3.0f, 0.0f, 0.0f); var colliderBody = Body.ForEntityLocatedAt( collider, colliderLocation); var collidee = new Guid("0a35997f-1c46-426d-a9ee-dcbca907cae9"); var collideeLocation = new UnityEngine.Vector3(5.0f, 0.0f, 0.0f); var collideeBody = Body.ForEntityLocatedAt( collidee, collideeLocation); return(Collision.BetweenBodies( colliderBody, collideeBody)); }
/// <summary> /// Create a new <see cref="AlwaysCollisions"/>. /// </summary> internal AlwaysCollisions() { var player = new Guid("5905dcc6-f59d-4a96-85c0-2b2e1da02ec8"); var playersLocation = new UnityEngine.Vector3(0.0f, 0.0f, 0.0f); playersBody = Body.ForEntityLocatedAt( player, playersLocation); var enemy = new Guid("c15f7c57-f638-4cda-8a1c-07889d03d4f0"); var enemysLocation = new UnityEngine.Vector3(3.5f, 0.0f, 3.5f); enemysBody = Body.ForEntityLocatedAt( enemy, enemysLocation); var adjustedPlayersLocation = new UnityEngine.Vector3(3.0f, 0.0f, 3.0f); var adjustedPlayersBody = Body.ForEntityLocatedAt( player, adjustedPlayersLocation); playersCollision = Collision.BetweenBodies( adjustedPlayersBody, enemysBody); }