source: TFP-WebServer/MapRendering/src/ModApi.cs@ 477

Last change on this file since 477 was 463, checked in by alloc, 15 months ago

21.1.16.0 release
Completed OpenAPI specs
Add support to path handlers to register OpenAPI specs
Fixed ItemIconHandler throwing error when requested path contains no dot

File size: 1.1 KB
Line 
1using JetBrains.Annotations;
2using Webserver;
3using Webserver.UrlHandlers;
4
5namespace MapRendering {
6 [UsedImplicitly]
7 public class ModApi : IModApi {
8 private const string mapTilesBaseUrl = "/map/";
9
10 public void InitMod (Mod _modInstance) {
11 ModEvents.GameStartDone.RegisterHandler (GameStartDone);
12
13 Web.ServerInitialized += _web => {
14 if (!MapRenderer.Enabled) {
15 return;
16 }
17
18 _web.RegisterPathHandler (mapTilesBaseUrl, new StaticHandler (
19 $"{GameIO.GetSaveGameDir ()}/map",
20 MapRenderer.GetTileCache (),
21 false,
22 "web.map")
23 );
24
25 _web.OpenApiHelpers.RegisterCustomSpec (GetType ().Assembly, "MapTileHandler", mapTilesBaseUrl);
26 };
27 }
28
29 private void GameStartDone () {
30 if (!MapRenderer.Enabled) {
31 return;
32 }
33
34 ModEvents.GameShutdown.RegisterHandler (GameShutdown);
35 ModEvents.CalcChunkColorsDone.RegisterHandler (CalcChunkColorsDone);
36 }
37
38 private void GameShutdown () {
39 MapRenderer.Shutdown ();
40 }
41
42 private void CalcChunkColorsDone (Chunk _chunk) {
43 MapRenderer.RenderSingleChunk (_chunk);
44 }
45 }
46}
Note: See TracBrowser for help on using the repository browser.