import { SYSTEM_RDD } from "../constants.js";

export const AUTO_ADJUST_DARKNESS = "auto-adjust-darkness";

export class AutoAdjustDarkness {

  static initSettings() {
    game.settings.register(SYSTEM_RDD, AUTO_ADJUST_DARKNESS, {
      name: AUTO_ADJUST_DARKNESS,
      scope: "world",
      config: false,
      default: true,
      type: Boolean
    });
  }

  static async adjust(darkness) {
    if (game.user.isGM && AutoAdjustDarkness.isAuto()) {
      const scene = game.scenes.viewed;
      if (scene?.environment?.globalLight?.enabled && scene?.tokenVision) {
        await scene.update({ darkness });
      }
    }
  }

  static isAuto() {
    return game.settings.get(SYSTEM_RDD, AUTO_ADJUST_DARKNESS);
  }

  static async toggle() {
    const previous = AutoAdjustDarkness.isAuto();
    await game.settings.set(SYSTEM_RDD, AUTO_ADJUST_DARKNESS, !previous)
  }
}