Hiho,
ich bin seit zwei Tagen mal wieder ein bisschen am coden und habe an manchen Stellen ein paar "Eigenarten" bemerkt. Ich vermute ja, dass Enforce die ganzen Scripte einmalig ausführt und dann cacht, was in meinem Fall schlecht ist, da ich immer neue Werte beziehen muss. Beispiel anhand einer Rückgabe:
private TIntArray getResultCounts()
{
int max_count = 8;
TIntArray result = new TIntArray;
int count_one = Math.RandomInt(1,7);
int count_two = max_count - count_one;
result.Insert(count_one);
result.Insert(count_two);
return result;
}
Alles anzeigen
Beim Start des Games wird die Methode einmalig ausgeführt und die Werte berechnet, danach ändert sich nix mehr daran. Da dies aber u.a. bei Rezepten benötigt wird, welche eine zufällige Anzahl der beiden Ausgabeprodukte errechnet, darf solch ein Rückgabewert nicht gecacht werden. Selbst wenn man eine Instanz einer Klasse hat, müssen die Methoden eigenständig funktionieren, die Rückgabewerte dürfen nicht gespeichert werden, dass führt sonst zu etwaigen Problemen.
Die einzig mir schlüssige Lösung wäre, eigene Klassen zu erstellen und diese neu zu instanzieren, was aber das Ganze wesentlich unübersichtlicher machen würde und am ende vielleicht nicht mal so funktioniert. Selbst static könnte das selbe Problem aufweisen.
Hat hier jemand eine "einfache" Lösung parat?
Grüße,
JackHusky