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

Last change on this file since 504 was 504, checked in by alloc, 2 weeks ago

Compatibility fixes for 2.0

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