1 using Vintagestory.API.Client;
2 using Vintagestory.API.Common;
8 public class AutomapMod : ModSystem
10 private ICoreAPI API { get; set; }
11 private ICoreClientAPI ClientAPI { get; set; }
12 private ILogger Logger { get; set; }
13 private AutomapSystem _localAutomap;
14 private AutomapGUIDialog _automapDialog;
17 public override bool ShouldLoad(EnumAppSide forSide)
19 return forSide.IsClient();
22 public override void StartClientSide(ICoreClientAPI api)
26 if (api.Side == EnumAppSide.Client)
28 this.ClientAPI = api as ICoreClientAPI;
29 this.Logger = Mod.Logger;
32 ClientAPI.Logger.VerboseDebug("Automap Present!");
33 _localAutomap = new AutomapSystem(this.ClientAPI, this.Logger);
34 _automapDialog = new AutomapGUIDialog(ClientAPI, _localAutomap);
36 ClientAPI.Input.RegisterHotKey(AutomapGUIDialog._automapControlPanelKey, "Automap control panel", GlKeys.M, HotkeyType.GUIOrOtherControls, shiftPressed: true);
37 ClientAPI.Input.SetHotKeyHandler(AutomapGUIDialog._automapControlPanelKey, ToggleAM_Dialog);
40 base.StartClientSide(api);
43 public override double ExecuteOrder()
48 private bool ToggleAM_Dialog(KeyCombination comb)
50 if (_automapDialog.IsOpened()) _automapDialog.TryClose();
51 else _automapDialog.TryOpen();