RundenRundenStatistik.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. #include "RundenRundenStatistik.h"
  2. #include <Text.h>
  3. // Inhalt der RundenRundenStatistik Klasse aus RundenRundenStatistik.h
  4. // Konstruktor
  5. RundenRundenStatistik::RundenRundenStatistik()
  6. {
  7. rundenNummer = 0;
  8. rundenDauer = 0;
  9. siegerTeam = 0;
  10. spielFeldNutzung = 0;
  11. rundenBild = 0;
  12. rss = new RCArray< RundenSpielerStatistik >();
  13. rts = new RCArray< RundenTeamStatistik >();
  14. ref = 1;
  15. }
  16. // Destruktor
  17. RundenRundenStatistik::~RundenRundenStatistik()
  18. {
  19. if( rundenBild )
  20. rundenBild->release();
  21. rss->release();
  22. rts->release();
  23. }
  24. // nciht constant
  25. void RundenRundenStatistik::addSpielerStatistik( RundenSpielerStatistik *rss )
  26. {
  27. this->rss->add( rss );
  28. }
  29. void RundenRundenStatistik::addTeamStatistik( RundenTeamStatistik *rts )
  30. {
  31. this->rts->add( rts );
  32. }
  33. void RundenRundenStatistik::setBild( Bild *b )
  34. {
  35. if( rundenBild )
  36. rundenBild->release();
  37. rundenBild = b;
  38. }
  39. void RundenRundenStatistik::initValues( InitDatei *dat )
  40. {
  41. if( dat->wertExistiert( "RundenNummer" ) )
  42. rundenNummer = *dat->zWert( "RundenNummer" );
  43. if( dat->wertExistiert( "RundenDauer" ) )
  44. rundenDauer = *dat->zWert( "RundenDauer" );
  45. if( dat->wertExistiert( "SiegerTeam" ) )
  46. siegerTeam = *dat->zWert( "SiegerTeam" );
  47. if( dat->wertExistiert( "SpielFeldNutzung" ) )
  48. spielFeldNutzung = *dat->zWert( "SpielFeldNutzung" );
  49. dat->release();
  50. }
  51. // constant
  52. InitDatei *RundenRundenStatistik::getValues() const
  53. {
  54. InitDatei *ret = new InitDatei();
  55. Text w;
  56. w = rundenNummer;
  57. if( w.getLength() )
  58. ret->addWert( "RundenNummer", w.getText() );
  59. w = rundenDauer;
  60. if( w.getLength() )
  61. ret->addWert( "RundenDauer", w.getText() );
  62. w = siegerTeam;
  63. if( w.getLength() )
  64. ret->addWert( "SiegerTeam", w.getText() );
  65. w = spielFeldNutzung;
  66. if( w.getLength() )
  67. ret->addWert( "SpielFeldNutzung", w.getText() );
  68. return ret;
  69. }
  70. int RundenRundenStatistik::getRundenNummer() const
  71. {
  72. return rundenNummer;
  73. }
  74. Bild *RundenRundenStatistik::getRundenBild() const
  75. {
  76. return rundenBild ? rundenBild->getThis() : 0;
  77. }
  78. Bild *RundenRundenStatistik::zRundenBild() const
  79. {
  80. return rundenBild;
  81. }
  82. int RundenRundenStatistik::getRundenDauer() const
  83. {
  84. return rundenDauer;
  85. }
  86. int RundenRundenStatistik::getSiegerTeam() const
  87. {
  88. return siegerTeam;
  89. }
  90. int RundenRundenStatistik::getSpielFeldNutzung() const
  91. {
  92. return spielFeldNutzung;
  93. }
  94. RundenSpielerStatistik *RundenRundenStatistik::getSpielerStatistik( int index ) const
  95. {
  96. return rss->get( index );
  97. }
  98. RundenSpielerStatistik *RundenRundenStatistik::zSpielerStatistik( int index ) const
  99. {
  100. return rss->z( index );
  101. }
  102. RundenTeamStatistik *RundenRundenStatistik::getTeamStatistik( int index ) const
  103. {
  104. return rts->get( index );
  105. }
  106. RundenTeamStatistik *RundenRundenStatistik::zTeamStatistik( int index ) const
  107. {
  108. return rts->z( index );
  109. }
  110. int RundenRundenStatistik::getSpielerAnzahl() const
  111. {
  112. return rss->getEintragAnzahl();
  113. }
  114. int RundenRundenStatistik::getTeamAnzahl() const
  115. {
  116. return rts->getEintragAnzahl();
  117. }
  118. // Reference Counting
  119. RundenRundenStatistik *RundenRundenStatistik::getThis()
  120. {
  121. ref++;
  122. return this;
  123. }
  124. RundenRundenStatistik *RundenRundenStatistik::release()
  125. {
  126. ref--;
  127. if( !ref )
  128. delete this;
  129. return 0;
  130. }