Browse Source

Iteratoren werden jetzt verwendet

Kolja Strohm 5 years ago
parent
commit
ae86bd5776
4 changed files with 70 additions and 70 deletions
  1. 9 9
      Asteroids/Editor.cpp
  2. 15 15
      Asteroids/Karte.cpp
  3. 22 22
      Asteroids/Spieler.cpp
  4. 24 24
      Asteroids/Team.cpp

+ 9 - 9
Asteroids/Editor.cpp

@@ -531,16 +531,16 @@ bool Editor::saveSitzung()
         {
             int anz = resList->getEintragAnzahl();
             d.schreibe( (char*)&anz, 4 );
-            for( auto resPf = resList->getArray(); resPf.set && resPf.var; resPf++ )
+            for( auto resPf = resList->getIterator(); resPf && resPf._; resPf++ )
             {
                 Text tmp = pf.getText();
                 tmp += "/";
-                tmp += resPf.var->getText();
+                tmp += resPf->getText();
                 Datei r;
                 r.setDatei( tmp );
                 if( r.open( Datei::Style::lesen ) )
                 {
-                    int id = (int)*resPf.var;
+                    int id = (int)*resPf;
                     d.schreibe( (char*)&id, 4 );
                     char b = 0;
                     r.lese( &b, 1 );
@@ -597,11 +597,11 @@ bool Editor::saveSitzung()
         {
             int anz = objList->getEintragAnzahl();
             d.schreibe( (char*)&anz, 4 );
-            for( auto objPf = objList->getArray(); objPf.set && objPf.var; objPf++ )
+            for( auto objPf = objList->getIterator(); objPf && objPf._; objPf++ )
             {
                 Text tmp = pf.getText();
                 tmp += "/";
-                tmp += objPf.var->getText();
+                tmp += objPf->getText();
                 Datei r;
                 r.setDatei( tmp );
                 if( r.open( Datei::Style::lesen ) )
@@ -641,11 +641,11 @@ bool Editor::saveSitzung()
             d.remove();
             return 0;
         }
-        for( auto plPf = plList->getArray(); plPf.set && plPf.var; plPf++ )
+        for( auto plPf = plList->getIterator(); plPf && plPf._; plPf++ )
         {
             Text tmp = pf.getText();
             tmp += "/";
-            tmp += plPf.var->getText();
+            tmp += plPf->getText();
             Datei r;
             r.setDatei( tmp );
             if( r.open( Datei::Style::lesen ) )
@@ -682,11 +682,11 @@ bool Editor::saveSitzung()
             d.remove();
             return 0;
         }
-        for( auto tmPf = tmList->getArray(); tmPf.set && tmPf.var; tmPf++ )
+        for( auto tmPf = tmList->getIterator(); tmPf && tmPf._; tmPf++ )
         {
             Text tmp = pf.getText();
             tmp += "/";
-            tmp += tmPf.var->getText();
+            tmp += tmPf->getText();
             Datei r;
             r.setDatei( tmp );
             if( r.open( Datei::Style::lesen ) )

+ 15 - 15
Asteroids/Karte.cpp

@@ -54,15 +54,15 @@ Spieler *Karte::createSpieler( int sNum ) const
 {
 	if( !sts || sNum < 0 || sNum >= sts->spielerAnzahl )
 		return 0;
-    for( auto s = spieler->getArray(); s.set; s++ )
+    for( auto s = spieler->getIterator(); s; s++ )
     {
-        if( s.var->id == sNum + 1 )
+        if( s->id == sNum + 1 )
         {
-            Spieler *ret = new Spieler( s.var );
-            for( auto i = &ressources->getArray(); i && i->set && i->var; i = i->next )
+            Spieler *ret = new Spieler( s );
+            for( auto i = ressources->getIterator(); i && i._; i++ )
             {
-                if( i->var->getId() == s.var->m2d )
-                    ret->setModelData( i->var->zReccourceM2()->getThis() );
+                if( i->getId() == s->m2d )
+                    ret->setModelData( i->zReccourceM2()->getThis() );
             }
             ret->setSpielerFarbe( sts->spielerFarbe->hat( sNum ) ? sts->spielerFarbe->get( sNum ) : 0 );
             return ret;
@@ -76,9 +76,9 @@ Team *Karte::createTeam( int tNum ) const
 	if( !sts || tNum < 0 || tNum >= sts->teamAnzahl )
 		return 0;
     Team *ret = 0;
-    for( auto t = teams->getArray(); t.set; t++ )
-        if( t.var->id == tNum + 1 )
-            ret = new Team( sts->teamFarbe->get( tNum ), sts->teamName->z( tNum )->getText(), t.var );
+    for( auto t = teams->getIterator(); t; t++ )
+        if( t->id == tNum + 1 )
+            ret = new Team( sts->teamFarbe->get( tNum ), sts->teamName->z( tNum )->getText(), t );
 	return ret;
 }
 
@@ -86,15 +86,15 @@ SpielObjekt *Karte::createObjekt( int oNum ) const
 {
 	if( oNum < 0 || oNum > objekte->getEintragAnzahl() )
 		return 0;
-    for( auto o = objekte->getArray(); o.set; o++ )
+    for( auto o = objekte->getIterator(); o; o++ )
     {
-        if( o.var->id == oNum + 1 )
+        if( o->id == oNum + 1 )
         {
-            SpielObjekt *ret = new SpielObjekt( o.var );
-            for( auto i = &ressources->getArray(); i && i->set && i->var; i = i->next )
+            SpielObjekt *ret = new SpielObjekt( o );
+            for( auto i = ressources->getIterator(); i && i._; i++ )
             {
-                if( i->var->getId() == o.var->m2d )
-                    ret->setModel( i->var->zReccourceM2()->getThis() );
+                if( i->getId() == o->m2d )
+                    ret->setModel( i->zReccourceM2()->getThis() );
             }
             return ret;
         }

+ 22 - 22
Asteroids/Spieler.cpp

@@ -79,52 +79,52 @@ void Spieler::online( SSKlientV *zKlient )
 
 void Spieler::setModelData( Model2DData *data )
 {
-    for( auto i = data->polygons->getArray(); i.set; i++ )
+    for( auto i = data->polygons->getIterator(); i; i++ )
     {
-        if( i.var.name->istGleich( "engine_l" ) )
+        if( i._.name->istGleich( "engine_l" ) )
         {
-            stL = *i.var.schwerpunkt;
+            stL = *i._.schwerpunkt;
             Vertex l, r;
             for( int j = 0; j < 4; j++ )
             {
-                if( i.var.tKordinaten->get( j ).y == 1.f )
+                if( i._.tKordinaten->get( j ).y == 1.f )
                 {
-                    if( i.var.tKordinaten->get( j ).x == 0.f )
-                        l = i.var.vertex->get( j );
-                    if( i.var.tKordinaten->get( j ).x == 1.f )
-                        r = i.var.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 0.f )
+                        l = i._.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 1.f )
+                        r = i._.vertex->get( j );
                 }
             }
             kL = ( ( l + ( r - l ) * 0.5 ) - stL );
         }
-        if( i.var.name->istGleich( "engine_r" ) )
+        if( i._.name->istGleich( "engine_r" ) )
         {
-            stR = *i.var.schwerpunkt;
+            stR = *i._.schwerpunkt;
             Vertex l, r;
             for( int j = 0; j < 4; j++ )
             {
-                if( i.var.tKordinaten->get( j ).y == 1.f )
+                if( i._.tKordinaten->get( j ).y == 1.f )
                 {
-                    if( i.var.tKordinaten->get( j ).x == 0.f )
-                        l = i.var.vertex->get( j );
-                    if( i.var.tKordinaten->get( j ).x == 1.f )
-                        r = i.var.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 0.f )
+                        l = i._.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 1.f )
+                        r = i._.vertex->get( j );
                 }
             }
             kR = ( ( l + ( r - l ) * 0.5 ) - stR );
         }
-        if( i.var.name->istGleich( "engine_m" ) )
+        if( i._.name->istGleich( "engine_m" ) )
         {
-            stM = *i.var.schwerpunkt;
+            stM = *i._.schwerpunkt;
             Vertex l, r;
             for( int j = 0; j < 4; j++ )
             {
-                if( i.var.tKordinaten->get( j ).y == 1.f )
+                if( i._.tKordinaten->get( j ).y == 1.f )
                 {
-                    if( i.var.tKordinaten->get( j ).x == 0.f )
-                        l = i.var.vertex->get( j );
-                    if( i.var.tKordinaten->get( j ).x == 1.f )
-                        r = i.var.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 0.f )
+                        l = i._.vertex->get( j );
+                    if( i._.tKordinaten->get( j ).x == 1.f )
+                        r = i._.vertex->get( j );
                 }
             }
             kM = ( ( l + ( r - l ) * 0.5 ) - stM );

+ 24 - 24
Asteroids/Team.cpp

@@ -54,96 +54,96 @@ void Team::reset()
 double Team::getMaxEnergieBonus() const
 {
 	double ret = maxEnergieS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamMaxEnergieBonus();
+	for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamMaxEnergieBonus();
 	return ret;
 }
 
 double Team::getMaxStabilityBonus() const
 {
 	double ret = maxStabilityS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamMaxStabilityBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamMaxStabilityBonus();
 	return ret;
 }
 
 double Team::getReperaturBonus() const
 {
 	double ret = reparaturS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamReparaturBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamReparaturBonus();
 	return ret;
 }
 
 double Team::getLaserIntensityBonus() const
 {
 	double ret = laserIntensityS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamLaserIntensityBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamLaserIntensityBonus();
 	return ret;
 }
 
 double Team::getLaserEffizienzBonus() const
 {
 	double ret = laserEffizienzS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamLaserEffizienzBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamLaserEffizienzBonus();
 	return ret;
 }
 
 double Team::getAkkuLeistungBonus() const
 {
 	double ret = akkuLeistungS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamAkkuLeistungBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamAkkuLeistungBonus();
 	return ret;
 }
 
 double Team::getLaserTempoBonus() const
 {
 	double ret = laserTempoS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamLaserTempoBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamLaserTempoBonus();
 	return ret;
 }
 
 double Team::getBeschleunigungBonus() const
 {
 	double ret = beschleunigungS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamBeschleunigungBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamBeschleunigungBonus();
 	return ret;
 }
 
 double Team::getWendigkeitBonus() const
 {
 	double ret = wendigkeitS;
-	for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-		ret += i->var->getTeamWendigkeitBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+		ret += i->getTeamWendigkeitBonus();
 	return ret;
 }
 
 double Team::getAntriebEffizienzBonus() const
 {
     double ret = antriebEffizienzS;
-    for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-        ret += i->var->getTeamAntriebEffizienzBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+        ret += i->getTeamAntriebEffizienzBonus();
     return ret;
 }
 
 double Team::getEnergieSchildBonus() const
 {
     double ret = energieSchildS;
-    for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-        ret += i->var->getTeamEnergieSchildBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+        ret += i->getTeamEnergieSchildBonus();
     return ret;
 }
 
 double Team::getEnergieSchildEffizienzBonus() const
 {
     double ret = energieSchildEffizienzS;
-    for( auto *i = &spieler->getArray(); i && i->set; i = i->next )
-        ret += i->var->getTeamEnergieSchildEffizienzBonus();
+    for( auto i = spieler->getIterator(); i; i++ )
+        ret += i->getTeamEnergieSchildEffizienzBonus();
     return ret;
 }