From ba69caffd286b01117269d878d08815f54daef67 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Sun, 19 Feb 2023 18:50:36 +0530 Subject: [PATCH] preserve previews --- src/Mission.hx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Mission.hx b/src/Mission.hx index 6d5a22b3..013e6bd6 100644 --- a/src/Mission.hx +++ b/src/Mission.hx @@ -51,6 +51,7 @@ class Mission { #else static var _previewRequest:Int; #end + static var _previewCache:Map = []; public function new() {} @@ -171,9 +172,16 @@ class Mission { if (_previewRequest != null #if sys && !_previewRequest.fulfilled #end) { Http.cancel(_previewRequest); // Cancel the previous request to save dequeing } + if (_previewCache.exists(this)) { + var t = _previewCache.get(this); + onLoaded(t); + return t.getTexture().name; + } _previewRequest = Marbleland.getMissionImage(this.id, (im) -> { if (im != null) { - onLoaded(im.toTile()); + var t = im.toTile(); + _previewCache.set(this, t); + onLoaded(t); } else { Console.error("Preview image not found for " + this.path); var img = new BitmapData(1, 1);