package p.studio.workspaces.assets.details.palette;

import p.studio.workspaces.assets.messages.AssetWorkspaceBankCompositionFile;

import java.util.List;
import java.util.Objects;

public record AssetDetailsPaletteOverhaulingViewModel(
        boolean editing,
        boolean dirty,
        List<AssetWorkspaceBankCompositionFile> previewTileFiles,
        List<AssetWorkspaceBankCompositionFile> allFiles,
        List<AssetWorkspaceBankCompositionFile> availableFiles,
        List<AssetWorkspaceBankCompositionFile> selectedFiles,
        AssetWorkspaceBankCompositionFile previewTileFile,
        AssetWorkspaceBankCompositionFile previewPaletteFile,
        int renderableFileCount) {

    public AssetDetailsPaletteOverhaulingViewModel {
        previewTileFiles = List.copyOf(Objects.requireNonNull(previewTileFiles, "previewTileFiles"));
        allFiles = List.copyOf(Objects.requireNonNull(allFiles, "allFiles"));
        availableFiles = List.copyOf(Objects.requireNonNull(availableFiles, "availableFiles"));
        selectedFiles = List.copyOf(Objects.requireNonNull(selectedFiles, "selectedFiles"));
    }
}
