DYTSrouce/src/workspace/ModelInfo.h

46 lines
1.6 KiB
C
Raw Normal View History

2025-11-01 10:08:02 +00:00
#pragma once
#include <QString>
#include <QVector>
/**
* @brief Model information structure
*
* Contains all information for a single preset model, including name, display name,
* description, mesh file path, icon path, and enabled status.
*/
struct ModelInfo {
QString name; ///< Model name (unique identifier)
QString displayName; ///< Display name (for UI display)
QString description; ///< Model description
QString meshFile; ///< 3D mesh file path
QString icon; ///< Icon file path
bool enabled; ///< Whether this model is enabled
/**
* @brief Default constructor
* Model is enabled by default
*/
ModelInfo() : enabled(true) {}
/**
* @brief Constructor with parameters
*/
ModelInfo(const QString& name, const QString& displayName, const QString& description,
const QString& meshFile, const QString& icon, bool enabled = true)
: name(name), displayName(displayName), description(description),
meshFile(meshFile), icon(icon), enabled(enabled) {}
};
/**
* @brief Model category structure
*
* Contains information for a model category, such as ships, satellites, missiles, jammers, etc.
* Each category contains multiple specific models.
*/
struct ModelCategory {
QString name; ///< Category name (unique identifier)
QString displayName; ///< Display name (for UI display)
QString icon; ///< Category icon path
QVector<ModelInfo> models; ///< All models in this category
};