From 51f354542d93eb2e88b5e3900227b0ec53d2e8ca Mon Sep 17 00:00:00 2001 From: Martin Ambrus Date: Fri, 17 Nov 2017 12:36:27 +0100 Subject: [PATCH] fix: village resources display outdated information on page load --- GameEngine/Database.php | 8 ++++++++ GameEngine/Village.php | 3 +++ 2 files changed, 11 insertions(+) diff --git a/GameEngine/Database.php b/GameEngine/Database.php index b2e7b3d1..14cf8c2c 100755 --- a/GameEngine/Database.php +++ b/GameEngine/Database.php @@ -436,6 +436,14 @@ class MYSQLi_DB implements IDbConnection { } } + /** + * Clears cached village data, so after automation is run, we can re-load new data (like resource levels etc) + * to be displayed in the front-end. + */ + public static function clearVillageCache() { + self::$villageFieldsCache = []; + } + function escape($value) { $value = stripslashes($value); return mysqli_real_escape_string($this->dblink, $value); diff --git a/GameEngine/Village.php b/GameEngine/Village.php index e6ff9a94..ea5b4ecf 100755 --- a/GameEngine/Village.php +++ b/GameEngine/Village.php @@ -104,12 +104,15 @@ class Village { // update DB values if (count($resourceUpdates)) { + call_user_func(get_class($database).'::clearVillageCache'); $database->updateResource( $this->wid, array_keys( $resourceUpdates ), array_values($resourceUpdates) ); } } private function calculateProduction() { global $technology,$database,$session; + + call_user_func(get_class($database).'::clearVillageCache'); $normalA = $database->getOwnArtefactInfoByType($_SESSION['wid'],4); $largeA = $database->getOwnUniqueArtefactInfo($session->uid,4,2); $uniqueA = $database->getOwnUniqueArtefactInfo($session->uid,4,3);