Zitat Zitat von Jesus_666 Beitrag anzeigen
Das mit den Timern könnte man dadurch lösen, daß man eine globale Liste (vermutlich Multimap) mit ausstehenden Events macht, in der sich die Events mit einem Zeitstempel (bspw. time()+300 für "in fünf Minuten") eintragen. Wann immer ein Stempel niedriger als time() ist wird die zugehörige Funktion ausgeführt. So muß man nur über eine Liste iterieren, anstatt 1000 Warteschleifen laufen zu haben. (Hmm, gibt's da nicht eine effizientere Wartemethode? Threads können ziemlich efffizient warten...)
Timestamps könnte allerdings beim Speichern ziemliche Probleme machen, nicht? Wenn man z.B. (habe ja keine Ahnung, was das für ein Spiel ist) einen Schalter betätigt, und dann innerhalb von 5 Minuten aus dem Gebäude fliehen muss (Pfeil- und Kugelfallen optional), und man während dem Countdown speichert, wäre er automatisch abgelaufen, wenn man nach mehr als 5 Minuten wieder lädt. :-/
Man müsste dann beim Abspeichern die aktiven Timer mit timestamp - time () abspeichern, und beim Laden dann wieder die aktuelle Zeit dazuaddieren.

Sorry, dass ich nicht mehr beitragen kann, kenne mich da nicht wirklich aus.