package com.fuyuanshen.equipment.enums;

/**
 * 灯光模式枚举
 */
public enum LightModeEnum {
    
    /**
     * 关灯模式
     */
    OFF(0, "关灯"),
    
    /**
     * 强光模式
     */
    HIGH_BEAM(1, "开启强光模式"),
    
    /**
     * 弱光模式
     */
    LOW_BEAM(2, "开启弱光模式"),
    
    /**
     * 爆闪模式
     */
    STROBE(3, "开启爆闪模式"),
    
    /**
     * 泛光模式
     */
    FLOOD(4, "开启泛光模式");
    
    private final Integer code;
    private final String name;
    
    LightModeEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }
    
    public Integer getCode() {
        return code;
    }
    
    public String getName() {
        return name;
    }
    
    /**
     * 根据编号获取枚举
     * @param code 编号
     * @return 对应的枚举值
     */
    public static LightModeEnum getByCode(Integer code) {
        for (LightModeEnum mode : LightModeEnum.values()) {
            if (mode.getCode().equals(code)) {
                return mode;
            }
        }
        return null;
    }
    
    /**
     * 根据编号获取名称
     * @param code 编号
     * @return 对应的名称
     */
    public static String getNameByCode(Integer code) {
        LightModeEnum mode = getByCode(code);
        return mode != null ? mode.getName() : null;
    }
}
