// Path: src/VASL/environment/LVLevel.java
// public enum LVLevel {
//   NONE ("No LV"),
//   SHADE_ONLY("LV Shading Only"),
//   DAWN_DUSK ("+1 LV (E3.1)"),
//   MIST("Mist (E3.32) +0/+1/..."),
//   RAIN("Rain (E3.51) +0/+1/..."),
//   HEAVY_RAIN("Heavy Rain (E3.51) +1/+2/..." ),
//   SNOW("Falling Snow (E3.71) +0/+1/..."),
//   HEAVY_SNOW("Heavy Falling Snow(E3.71) +1/+2/...")
//   {
//     @Override
//     public LVLevel next() {
//       return NONE;
//     };
//   };
// 
//   private String lvDescription;
// 
//   LVLevel(String s) {
//     lvDescription = s;
//   }
// 
//   public String toString() {
//     return this.lvDescription;
//   }
// 
//   public LVLevel next() {
//     return values()[ordinal() + 1];
//   }
// }


import VASL.environment.LVLevel;
import VASSAL.build.Buildable;
import VASSAL.build.GameModule;
import VASSAL.build.module.map.MapShader;
import VASSAL.build.module.properties.GlobalProperty;
import javax.swing.*;
package VASL.build.module;



public class ASLLVMapShader extends MapShader {
  private final GlobalProperty globalLVLevel = new GlobalProperty();
  private LVLevel lvLevel = LVLevel.NONE;

  public ASLLVMapShader() {
    super();
    globalLVLevel.setPropertyName("lv_level");
    globalLVLevel.setAttribute("initialValue", lvLevel.name());
    GameModule gm = GameModule.getGameModule();
    gm.addMutableProperty("lv_level", globalLVLevel);
  }
  @Override
  public void addTo(Buildable buildable) {
    super.addTo(buildable);
  }

  @Override
  protected void toggleShading() {
// Path: src/VASL/environment/LVLevel.java
// public enum LVLevel {
//   NONE ("No LV"),
//   SHADE_ONLY("LV Shading Only"),
//   DAWN_DUSK ("+1 LV (E3.1)"),
//   MIST("Mist (E3.32) +0/+1/..."),
//   RAIN("Rain (E3.51) +0/+1/..."),
//   HEAVY_RAIN("Heavy Rain (E3.51) +1/+2/..." ),
//   SNOW("Falling Snow (E3.71) +0/+1/..."),
//   HEAVY_SNOW("Heavy Falling Snow(E3.71) +1/+2/...")
//   {
//     @Override
//     public LVLevel next() {
//       return NONE;
//     };
//   };
// 
//   private String lvDescription;
// 
//   LVLevel(String s) {
//     lvDescription = s;
//   }
// 
//   public String toString() {
//     return this.lvDescription;
//   }
// 
//   public LVLevel next() {
//     return values()[ordinal() + 1];
//   }
// }


// Path: src/VASL/build/module/ASLLVMapShader.java
import VASL.environment.LVLevel;
import VASSAL.build.Buildable;
import VASSAL.build.GameModule;
import VASSAL.build.module.map.MapShader;
import VASSAL.build.module.properties.GlobalProperty;
import javax.swing.*;

package VASL.build.module;



public class ASLLVMapShader extends MapShader {
  private final GlobalProperty globalLVLevel = new GlobalProperty();
  private LVLevel lvLevel = LVLevel.NONE;

  public ASLLVMapShader() {
    super();
    globalLVLevel.setPropertyName("lv_level");
    globalLVLevel.setAttribute("initialValue", lvLevel.name());
    GameModule gm = GameModule.getGameModule();
    gm.addMutableProperty("lv_level", globalLVLevel);
  }
  @Override
  public void addTo(Buildable buildable) {
    super.addTo(buildable);
  }

  @Override
  protected void toggleShading() {
    Object[] possibilities = LVLevel.values();