Ver Fonte

Der Spielzeiger wird jetzt von den Clients entfernd wenn ein Spiel vorrüber ist

Kolja Strohm há 4 anos atrás
pai
commit
f8ced1f37f
1 ficheiros alterados com 12 adições e 0 exclusões
  1. 12 0
      SpielServer/Spiel.cpp

+ 12 - 0
SpielServer/Spiel.cpp

@@ -555,7 +555,10 @@ void Spiel::thread()
         {
             SSKlient *tmp = klients->z( i );
             if( tmp )
+            {
+                tmp->setSpiel( 0 );
                 tmp->errorZuKlientSende( Text( "Fehler beim laden des Spiels: " ).operator+( err ) );
+            }
         }
         ss->zDB()->setSpielStatusBeendet( id, 4 );
         ss->removeSpiel( id ); // delete this
@@ -575,7 +578,10 @@ void Spiel::thread()
         {
             SSKlient *tmp = klients->z( i );
             if( tmp )
+            {
+                tmp->setSpiel( 0 );
                 tmp->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nicht finden." );
+            }
         }
         ss->zDB()->setSpielStatusBeendet( id, 4 );
         ss->removeSpiel( id ); // delete this
@@ -620,6 +626,12 @@ void Spiel::thread()
     FreeLibrary( spielDll );
     spielDll = 0;
     DateiRemove( tmp );
+    for( int i = 0; i < spielerAnzahl; i++ )
+    {
+        SSKlient *tmp = klients->z( i );
+        if( tmp )
+            tmp->setSpiel( 0 );
+    }
     ss->removeSpiel( id ); // delete this
 }