SpieleKaufen.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #ifndef SpieleKaufen_H
  2. #define SpieleKaufen_H
  3. #include <Schrift.h>
  4. #include <Knopf.h>
  5. #include <KSGScript.h>
  6. #include <Array.h>
  7. #include <Scroll.h>
  8. #include <Animation.h>
  9. #include <Thread.h>
  10. #include <Rahmen.h>
  11. using namespace Framework;
  12. using namespace KSGScript;
  13. class SpieleKaufenAuswahl : public Thread
  14. {
  15. private:
  16. int spielId;
  17. unsigned char alpha;
  18. KSGScriptObj *fenster;
  19. Framework::Animation2D *laden;
  20. Punkt pos;
  21. LRahmen *ram;
  22. HINSTANCE ksgs;
  23. bool aktion;
  24. public:
  25. // Konstruktor
  26. SpieleKaufenAuswahl( Schrift *zSchrift );
  27. // Destruktor
  28. ~SpieleKaufenAuswahl();
  29. // nicht constant
  30. void ladeSpielSeite( int id );
  31. void reset();
  32. virtual void thread();
  33. void ksgsAktion( RCArray< KSGSVariable > *parameter, KSGSVariable **ret );
  34. void doPublicMausEreignis( MausEreignis &me );
  35. void doTastaturEreignis( TastaturEreignis &te );
  36. bool tick( double zeit );
  37. void render( Bild &zRObj );
  38. // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
  39. Thread *release() override;
  40. };
  41. class SpieleKaufenListeEintrag
  42. {
  43. private:
  44. int spielId;
  45. Knopf *auswählen;
  46. Bild *hintergrund;
  47. AlphaFeld *ausgewählt;
  48. LRahmen *ram;
  49. bool ausw;
  50. bool rend;
  51. int ref;
  52. public:
  53. // Konstruktor
  54. SpieleKaufenListeEintrag( int id, Schrift *schrift );
  55. // Destruktor
  56. ~SpieleKaufenListeEintrag();
  57. // nicht constant
  58. void resetAuswahl();
  59. bool doPublicMausEreignis( MausEreignis &me );
  60. bool tick( double zeit );
  61. void render( int yOff, Bild &zRObj );
  62. // constant
  63. int getSpielId() const;
  64. // Reference Counting
  65. SpieleKaufenListeEintrag *getThis();
  66. SpieleKaufenListeEintrag *release();
  67. };
  68. class SpieleKaufenListe
  69. {
  70. private:
  71. Schrift *s;
  72. LRahmen *ram;
  73. Punkt pos;
  74. RCArray< SpieleKaufenListeEintrag > *einträge;
  75. VScrollBar *vScroll;
  76. bool rend;
  77. int ref;
  78. Critical cs;
  79. public:
  80. // Konstruktor
  81. SpieleKaufenListe( Schrift *schrift );
  82. // Destruktor
  83. ~SpieleKaufenListe();
  84. // nicht constant
  85. void ladeSpiele( Array< int > *spiele );
  86. void leeren();
  87. int doPublicMausEreignis( MausEreignis &me );
  88. bool tick( double zeit );
  89. void render( Bild &zRObj );
  90. // constant
  91. int getEintragAnzahl();
  92. // Reference Counting
  93. SpieleKaufenListe *getThis();
  94. SpieleKaufenListe *release();
  95. };
  96. class SpieleKaufen : public Thread
  97. {
  98. private:
  99. unsigned char alpha;
  100. bool sichtbar;
  101. Text *suchText;
  102. LRahmen *ram;
  103. TextFeld *suchFilter;
  104. TextFeld *suchFilterT;
  105. Knopf *suchen;
  106. TextFeld *seiten;
  107. Knopf *weiter;
  108. Knopf *zurück;
  109. Punkt pos;
  110. SpieleKaufenListe *liste;
  111. SpieleKaufenAuswahl *auswahl;
  112. Animation2D *laden;
  113. double tickVal;
  114. int seite;
  115. int maxSeite;
  116. bool rend;
  117. public:
  118. // Konstruktor
  119. SpieleKaufen( Schrift *zSchrift );
  120. // Destruktor
  121. ~SpieleKaufen();
  122. // nicht constant
  123. void setSichtbar( bool sicht );
  124. virtual void thread();
  125. void doPublicMausEreignis( MausEreignis &me );
  126. void doTastaturEreignis( TastaturEreignis &te );
  127. bool tick( double zeit );
  128. void render( Bild &zRObj );
  129. // constant
  130. bool istSichtbar() const;
  131. // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
  132. Thread *release() override;
  133. };
  134. #endif