/**
 * 大厅房间数据类
 */
export default class LobbyRoom {
  /**
   * 房间名称
   * @type {String}
   * @readonly
   */
  get roomName() {
    return this._roomName;
  }

  /**
   * 房间最大玩家数
   * @type {Number}
   * @readonly
   */
  get maxPlayerCount() {
    return this._maxPlayerCount;
  }

  /**
   * 邀请好友 ID 数组
   * @type {Array.<String>}
   * @readonly
   */
  get expectedUserIds() {
    return this._expectedUserIds;
  }

  /**
   * 房间置空后销毁时间(秒)
   * @type {Number}
   * @readonly
   */
  get emptyRoomTtl() {
    return this._emptyRoomTtl;
  }

  /**
   * 玩家离线后踢出房间时间(秒)
   * @type {Number}
   * @readonly
   */
  get playerTtl() {
    return this._playerTtl;
  }

  /**
   * 当前房间玩家数量
   * @type {Number}
   * @readonly
   */
  get playerCount() {
    return this._playerCount;
  }

  /**
   * 房间属性
   * @type {Object}
   * @readonly
   */
  get customRoomProperties() {
    return this._customRoomProperties;
  }

  /**
   * 房间是否可见
   * @type {Boolean}
   * @readonly
   */
  get visible() {
    return this._visible === true;
  }

  /**
   * 房间是否开启
   * @type {Boolean}
   * @readonly
   */
  get open() {
    return this._open === true;
  }
}