46 lines
1.6 KiB
C
46 lines
1.6 KiB
C
|
|
#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
|
||
|
|
};
|