예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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();
 }