/// <summary> /// Initialises a new instance of the <see cref="FloorPlan"/> class. /// </summary> /// <param name="floorPlan">The <see cref="World.FloorPlan"/> to interface.</param> internal FloorPlan(World.FloorPlan floorPlan) { this.floorPlan = floorPlan; Doors = new ReadOnlyDictionary <string, Door>(doors); Entities = new ReadOnlyCollection <Entity>(entities); Rooms = new ReadOnlyDictionary <string, Room>(rooms); }
/// <summary> /// Initialises a new instance of the <see cref="OperatorInterface"/> class. /// </summary> /// <param name="floorPlan">The <see cref="World.FloorPlan"/> to explore.</param> /// <param name="drones">The <see cref="Drone"/>s under the operator's control.</param> internal OperatorInterface(World.FloorPlan floorPlan, IEnumerable <Entities.Drone> drones) { FloorPlan = new FloorPlan(floorPlan); this.drones = drones.Select(drone => new Drone(drone)).ToList(); Drones = this.drones.AsReadOnly(); }