theme.cpp 1.9 KB

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