Display map link in map credits if provided

This commit is contained in:
PizZaKatZe 2021-12-06 21:16:53 +01:00
parent 27aa3c51d3
commit aad582df70
2 changed files with 12 additions and 4 deletions

View File

@ -98,13 +98,13 @@ The exception is the "collides" property that can only be set on tiles, but not
By setting properties on the map itself, you can help visitors know more about the creators of the map.
The following *map* properties are supported:
* `mapName` (string)
* `mapDescription` (string)
* `mapCopyright` (string)
* `mapName` (string): The name of your map
* `mapLink` (string): A link to your map, for example a repository
* `mapDescription` (string): A short description of your map
* `mapCopyright` (string): Copyright notice
And *each tileset* can also have a property called `tilesetCopyright` (string).
Resulting in a "credit" page in the menu looking like this:
![](images/mapProperties.png){.document-img}

View File

@ -8,6 +8,7 @@
let expandedTilesetCopyright = false;
let mapName: string = "";
let mapLink: string = "";
let mapDescription: string = "";
let mapCopyright: string = "The map creator did not declare a copyright for the map.";
let tilesetCopyright: string[] = [];
@ -18,6 +19,10 @@
if (propertyName !== undefined && typeof propertyName.value === "string") {
mapName = propertyName.value;
}
const propertyLink = gameScene.mapFile.properties.find((property) => property.name === "mapLink");
if (propertyLink !== undefined && typeof propertyLink.value === "string") {
mapLink = propertyLink.value;
}
const propertyDescription = gameScene.mapFile.properties.find(
(property) => property.name === "mapDescription"
);
@ -48,6 +53,9 @@
<section class="container-overflow">
<h3>{mapName}</h3>
<p class="string-HTML">{mapDescription}</p>
{#if mapLink}
<p class="string-HTML">&gt; <a href={mapLink} target="_blank">link to this map</a> &lt;</p>
{/if}
<h3 class="nes-pointer hoverable" on:click={() => (expandedMapCopyright = !expandedMapCopyright)}>
Copyrights of the map
</h3>