/*
 * Copyright (c) 2026 盐灯水母
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */

package com.remains_cave.dungeon.config;

import java.util.List;

public class DungeonRoutineConfig {
    private String dungen_start_pool;
    private String dungen_start_structure;
    private List<RoutineStep> routine;

    // getters ...
    public String getDungen_start_pool() { return dungen_start_pool; }
    public String getDungen_start_structure() { return dungen_start_structure; }
    public List<RoutineStep> getRoutine() { return routine; }

    // setters
    public void setDungen_start_pool(String value) { this.dungen_start_pool = value; }
    public void setDungen_start_structure(String value) { this.dungen_start_structure = value; }
    public void setRoutine(List<RoutineStep> value) { this.routine = value; }

    public void validate() {
        if (dungen_start_pool == null && dungen_start_structure == null) {
            throw new IllegalStateException("Either dungen_start_pool or dungen_start_structure must be provided");
        }
        if (dungen_start_pool != null && dungen_start_structure != null) {
            throw new IllegalStateException("Cannot have both dungen_start_pool and dungen_start_structure");
        }
    }
}