public class FirearmHitboxSettings {
    private String firearmName;
    private String enemyHitboxRangeDataExpansion;
    private String hitboxRangeEnhancementEffectReading;
    private String hitboxRangeEffectivenessDuration;
    private String hitboxRangeCoverageArea;
    private String hitboxRangeActiveDuration;
    private String automaticDetectionTriggerSettings;
    private double hitDetectionResponseSpeed;
    private double hitDetectionVolumeCoefficient;
    private double hitDetectionAccuracy;
    private double verticalAxisHitboxRangeEnhancementCoefficient;
    private String hitboxRangeManipulationLogicInterferenceProbability;

    // 无参构造
    public FirearmHitboxSettings() {}

    // 全参构造
    public FirearmHitboxSettings(String firearmName, String enemyHitboxRangeDataExpansion, String hitboxRangeEnhancementEffectReading, String hitboxRangeEffectivenessDuration, String hitboxRangeCoverageArea, String hitboxRangeActiveDuration, String automaticDetectionTriggerSettings, double hitDetectionResponseSpeed, double hitDetectionVolumeCoefficient, double hitDetectionAccuracy, double verticalAxisHitboxRangeEnhancementCoefficient, String hitboxRangeManipulationLogicInterferenceProbability) {
        this.firearmName = firearmName;
        this.enemyHitboxRangeDataExpansion = enemyHitboxRangeDataExpansion;
        this.hitboxRangeEnhancementEffectReading = hitboxRangeEnhancementEffectReading;
        this.hitboxRangeEffectivenessDuration = hitboxRangeEffectivenessDuration;
        this.hitboxRangeCoverageArea = hitboxRangeCoverageArea;
        this.hitboxRangeActiveDuration = hitboxRangeActiveDuration;
        this.automaticDetectionTriggerSettings = automaticDetectionTriggerSettings;
        this.hitDetectionResponseSpeed = hitDetectionResponseSpeed;
        this.hitDetectionVolumeCoefficient = hitDetectionVolumeCoefficient;
        this.hitDetectionAccuracy = hitDetectionAccuracy;
        this.verticalAxisHitboxRangeEnhancementCoefficient = verticalAxisHitboxRangeEnhancementCoefficient;
        this.hitboxRangeManipulationLogicInterferenceProbability = hitboxRangeManipulationLogicInterferenceProbability;
    }

    // Getter 和 Setter
    public String getFirearmName() {
        return firearmName;
    }

    public void setFirearmName(String firearmName) {
        this.firearmName = firearmName;
    }

    public String getEnemyHitboxRangeDataExpansion() {
        return enemyHitboxRangeDataExpansion;
    }

    public void setEnemyHitboxRangeDataExpansion(String enemyHitboxRangeDataExpansion) {
        this.enemyHitboxRangeDataExpansion = enemyHitboxRangeDataExpansion;
    }

    public String getHitboxRangeEnhancementEffectReading() {
        return hitboxRangeEnhancementEffectReading;
    }

    public void setHitboxRangeEnhancementEffectReading(String hitboxRangeEnhancementEffectReading) {
        this.hitboxRangeEnhancementEffectReading = hitboxRangeEnhancementEffectReading;
    }

    public String getHitboxRangeEffectivenessDuration() {
        return hitboxRangeEffectivenessDuration;
    }

    public void setHitboxRangeEffectivenessDuration(String hitboxRangeEffectivenessDuration) {
        this.hitboxRangeEffectivenessDuration = hitboxRangeEffectivenessDuration;
    }

    public String getHitboxRangeCoverageArea() {
        return hitboxRangeCoverageArea;
    }

    public void setHitboxRangeCoverageArea(String hitboxRangeCoverageArea) {
        this.hitboxRangeCoverageArea = hitboxRangeCoverageArea;
    }

    public String getHitboxRangeActiveDuration() {
        return hitboxRangeActiveDuration;
    }

    public void setHitboxRangeActiveDuration(String hitboxRangeActiveDuration) {
        this.hitboxRangeActiveDuration = hitboxRangeActiveDuration;
    }

    public String getAutomaticDetectionTriggerSettings() {
        return automaticDetectionTriggerSettings;
    }

    public void setAutomaticDetectionTriggerSettings(String automaticDetectionTriggerSettings) {
        this.automaticDetectionTriggerSettings = automaticDetectionTriggerSettings;
    }

    public double getHitDetectionResponseSpeed() {
        return hitDetectionResponseSpeed;
    }

    public void setHitDetectionResponseSpeed(double hitDetectionResponseSpeed) {
        this.hitDetectionResponseSpeed = hitDetectionResponseSpeed;
    }

    public double getHitDetectionVolumeCoefficient() {
        return hitDetectionVolumeCoefficient;
    }

    public void setHitDetectionVolumeCoefficient(double hitDetectionVolumeCoefficient) {
        this.hitDetectionVolumeCoefficient = hitDetectionVolumeCoefficient;
    }

    public double getHitDetectionAccuracy() {
        return hitDetectionAccuracy;
    }

    public void setHitDetectionAccuracy(double hitDetectionAccuracy) {
        this.hitDetectionAccuracy = hitDetectionAccuracy;
    }

    public double getVerticalAxisHitboxRangeEnhancementCoefficient() {
        return verticalAxisHitboxRangeEnhancementCoefficient;
    }

    public void setVerticalAxisHitboxRangeEnhancementCoefficient(double verticalAxisHitboxRangeEnhancementCoefficient) {
        this.verticalAxisHitboxRangeEnhancementCoefficient = verticalAxisHitboxRangeEnhancementCoefficient;
    }

    public String getHitboxRangeManipulationLogicInterferenceProbability() {
        return hitboxRangeManipulationLogicInterferenceProbability;
    }

    public void setHitboxRangeManipulationLogicInterferenceProbability(String hitboxRangeManipulationLogicInterferenceProbability) {
        this.hitboxRangeManipulationLogicInterferenceProbability = hitboxRangeManipulationLogicInterferenceProbability;
    }
}
