From 288cf94fec8070db30ed6700c109150cc8fb450b Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Sun, 25 Apr 2021 00:17:08 +0200 Subject: [PATCH] Implement first part of map loading code --- src/backends/base.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/backends/base.js b/src/backends/base.js index dab9c3d..78d36bc 100644 --- a/src/backends/base.js +++ b/src/backends/base.js @@ -23,6 +23,33 @@ class BaseBackend { constructor(userId) { this.userId = userId; } + + setMapData(mapData) { + this.game.loadMap(mapData); + } + + setMapDataFromUrl(url) { + if (url.substr(0, 6) === 'mxc://') { + url = this.resolveMxcUrl(url); + } + + fetch(url) + .then((response) => response.json()) + .then(this.setMapData); + } + + getMap(mapName) { + if (mapName.indexOf('://') > -1) { + this.setMapDataFromUrl(mapName); + } else { + const state = this.getState(EventTypes.map, mapName); + if (state.url !== undefined) { + this.setMapDataFromUrl(state.url); + } else { + this.setMapData(state); + } + } + } } export default BaseBackend; -- GitLab