private static InMemoryCollidableBodies CreateCollidableBodies() { var movementSpeeds = new DummyMovementSpeeds(); var bodies = new DummyBodies(); var collisions = new SingleCollision(); return(InMemoryCollidableBodies.WithCollections( movementSpeeds, bodies, collisions)); }
public void Does_not_support_a_null_collection_of_collisions() { var movementSpeeds = new DummyMovementSpeeds(); var bodies = new DummyBodies(); Collisions collisions = null; Assert.Throws <ArgumentNullException>(() => { InMemoryCollidableBodies.WithCollections( movementSpeeds, bodies, collisions); }); }
public void That_does_have_one_is_its_movement_speed() { var movementSpeeds = new SameMovementSpeeds(); var bodies = new DummyBodies(); var collisions = new DummyCollisions(); var collidableBodies = InMemoryCollidableBodies.WithCollections( movementSpeeds, bodies, collisions); var entity = new Guid("9c7aba92-ec3d-4862-a16f-c98214cd4a19"); var movementSpeed = collidableBodies.MovementSpeedForEntity(entity); Assert.AreEqual( SameMovementSpeeds.MovementSpeed, movementSpeed); }
public void Does_not_support_a_null_body() { var movementSpeeds = new DummyMovementSpeeds(); var bodies = new DummyBodies(); var collisions = new DummyCollisions(); var collidableBodies = InMemoryCollidableBodies .WithCollections( movementSpeeds, bodies, collisions); var movement = CreateMovement(); Body body = null; Assert.Throws <ArgumentNullException>(() => { collidableBodies.CollisionCausedByMovingBody( movement, body); }); }
public MovementSystem MovementSystem( CharacterController characterController, CollidableMovementSystemPresenter presenter) { var collisions = CharacterControllerCollisions .WithControllerAndBodiesAndGameObjects( characterController, bodies, gameObjects); var collidableBodies = InMemoryCollidableBodies .WithCollections( movementSpeeds, bodies, collisions); return(CollidableMovementSystem .WithCollidableBodiesAndPresenter( collidableBodies, presenter)); }
public void For_an_entity_that_does_not_exist_is_not_supported() { var movementSpeeds = new DummyMovementSpeeds(); var bodies = new NoBodies(); var collisions = new DummyCollisions(); var collidableBodies = InMemoryCollidableBodies.WithCollections( movementSpeeds, bodies, collisions); var entity = new Guid("36f8e845-5bac-4d97-b579-f2bc102d2b44"); var entityLocation = new UnityEngine.Vector3(0.0f, 0.0f, 0.0f); var body = Body.ForEntityLocatedAt( entity, entityLocation); Assert.Throws <NonExistingEntity>(() => { collidableBodies.ReplaceEntityBody( entity, body); }); }