import { Portal } from "./portal";

/**
 * Location in the world.
 *
 * Can contain characters, quests, monsters, loot, NPCs and more.
 *
 * Can contain mundane portals (such as doors or pathways) to adjacent rooms/locations,
 * or magical portals to distant locations.
 */
export class Location {
  /** @protected @type string */
  _id;
  get id() {
    return this._id;
  }

  /** @protected @type string */
  _name;
  get name() {
    return this._name;
  }

  /** @protected @type string */
  _description;
  get description() {
    return this._description;
  }

  /** @protected @type {Map<string,Portal>} */
  _portals = new Map();
  get portals() {
    return this._portals;
  }

  /**
   */
  constructor(id, name, description) {
    this._id = id;
    this._name = name;
    this._description = description;
  }
}

const l = new Location("foo", "bar", "baz");
