Hier ist mal die Funktion die die Planeten updated. Ja, ich überlege mir ein besseres Konzept dazu.
Code:
public static void updatePlanetx(PlanetenDaten Planet, string server)
{
List<string> Zufallsliste = new List<string>();
// basis_Funktionen.writeLog("lege Zufallsreihenfolge an..");
if (Planet == PlanetenDaten.PlanetenSpeicher[0])
{
Zufallsliste.Add("research");
}
Zufallsliste.Add("station");
Zufallsliste.Add("resources");
Zufallsliste.Add("fleet1");
int count = Zufallsliste.Count;
// hier wird die Liste gemischt
//basis_Funktionen.writeLog("Mische die Zufallsliste random..");
basis_Funktionen.Shuffle<string>(Zufallsliste);
// dann wird der Planet random geladen
foreach (string ZufallsSeite in Zufallsliste)
{
//basis_Funktionen.writeLog("lade jetzt " + ZufallsSeite);
Random random1 = new Random();
switch (ZufallsSeite)
{
case "station":
if ((DateTime.Now - Planet.aktualisiertAnlagen).TotalMinutes > 5.0 && !Planet.mond)
{
Thread.Sleep(random1.Next(2000, 7000));
Datenverarbeitung.updateAnlagenx(Planet, "");
}
break;
case "resources":
if ((DateTime.Now - Planet.aktualisiertVersorgung).TotalMinutes > 5.0)
{
Thread.Sleep(random1.Next(2000, 7000));
Datenverarbeitung.updateVersorgungx(Planet, "");
}
break;
case "research":
if ((DateTime.Now - Planet.aktualisiertForschung).TotalMinutes > 5.0)
{
Thread.Sleep(random1.Next(2000, 7000));
Datenverarbeitung.updateForschungx(Planet, "");
}
break;
case "fleet1":
if ((DateTime.Now - Planet.aktualisertFlotte).TotalMinutes > 5.0)
{
Thread.Sleep(random1.Next(2000, 7000));
Datenverarbeitung.updateFlottex(Planet, "");
}
break;
}
}
}
Wie man eventuell sehen kann, lädt der Bot bei jedem Planeten mit einem Zeitabstand zwischen 2 und 7 Sekunden Anlagen, Versorgung, Flotte und beim ersten Planet die Forschung.
Eventuell könnte man das viel mehr auseinanderziehen, also dass nicht alle Planet zum Zeitpunkt X geupdatet werden sondern auch eher random über 1-2 Stunden verteilt.
Edit:
Ich weiß garnicht, ob man vielleicht das updaten der Planeten komplett weg lässt, weil die Bauliste ja vor dem Bau eh die relevanten Daten checkt. Während dem manuellen browsen wird auch alles aktualisiert (je nach dem auf welcher Seite man ist).