theme.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "theme.h"
  2. Theme *Theme::m_instance = nullptr;
  3. Theme::Theme(QObject *parent) : QObject(parent) {}
  4. Theme *Theme::instance() {
  5. if (!m_instance) {
  6. m_instance = new Theme();
  7. }
  8. return m_instance;
  9. }
  10. Theme *Theme::create(QQmlEngine *engine, QJSEngine *scriptEngine) {
  11. Q_UNUSED(engine)
  12. Q_UNUSED(scriptEngine)
  13. return instance();
  14. }
  15. QVariantList Theme::playerColors() const {
  16. QVariantList colors;
  17. colors.append(QVariantMap{{"name", "Red"}, {"hex", "#E74C3C"}});
  18. colors.append(QVariantMap{{"name", "Blue"}, {"hex", "#3498DB"}});
  19. colors.append(QVariantMap{{"name", "Green"}, {"hex", "#2ECC71"}});
  20. colors.append(QVariantMap{{"name", "Yellow"}, {"hex", "#F1C40F"}});
  21. colors.append(QVariantMap{{"name", "Orange"}, {"hex", "#E67E22"}});
  22. colors.append(QVariantMap{{"name", "Purple"}, {"hex", "#9B59B6"}});
  23. colors.append(QVariantMap{{"name", "Cyan"}, {"hex", "#1ABC9C"}});
  24. colors.append(QVariantMap{{"name", "Pink"}, {"hex", "#E91E63"}});
  25. return colors;
  26. }
  27. QVariantList Theme::teamIcons() const {
  28. QVariantList icons;
  29. icons << "⚪" << "①" << "②" << "③" << "④" << "⑤" << "⑥" << "⑦" << "⑧";
  30. return icons;
  31. }
  32. QVariantList Theme::factions() const {
  33. QVariantList factionsData;
  34. factionsData.append(QVariantMap{{"id", 0}, {"name", "Standard"}});
  35. factionsData.append(QVariantMap{{"id", 1}, {"name", "Romans"}});
  36. factionsData.append(QVariantMap{{"id", 2}, {"name", "Egyptians"}});
  37. factionsData.append(QVariantMap{{"id", 3}, {"name", "Barbarians"}});
  38. return factionsData;
  39. }
  40. QVariantMap Theme::unitIcons() const {
  41. QVariantMap icons;
  42. icons["archer"] = "🏹";
  43. icons["knight"] = "⚔️";
  44. icons["warrior"] = "⚔️";
  45. icons["spearman"] = "🛡️";
  46. icons["cavalry"] = "🐎";
  47. icons["default"] = "👤";
  48. return icons;
  49. }