Die Actions-Tabelle halte ich persönlich für schwachsinnig. Zugriffe, die gar nicht sein müssen.
In der Gebäude Tabelle machst du 2 Felder
- UpgradingTo
- UpgradeEnd
In UpgradingTo schreibst du rein, auf welche Stufe ein Gebäude upgegradet wird. In UpgradeEnd schreibst dud en Timestamp, wann das Upgrade vollzogen ist.
Geht ein User nun auf die Seite, wo all seine Gebäude dargestellt werden, fragst du ja sowieso UpgradingTo und UpgradfeEnd ab um den aktuellen Status des Upgrades dem User zu zeigen.
Nun tritt das ein, was Megger schon gesagt hat. Ist die Zeit von UpgradeEnd kleiner als die aktuelle Zeit wird UpgradeEnd und UpgradingTo geleert, das neue Gebäude Level gesetzt und der User kann neu upgraden.
Logischerweise auch nur die notwendigen Felder abfragen um dies so gering wie möglich zu halten.
Mit Ajax kannste dann wahlweise noch alle X Sekunden den Status abfragen.
//Edit: Ok, Profimeinung reingeholt. UpgradingTo ist schwachsinnig. Man braucht als nur UpgradeEnd.
|