using Vintagestory.API.Client; using Vintagestory.API.Common; namespace Automap { public class AutomapMod : ModSystem { private ICoreAPI API { get; set; } private ICoreClientAPI ClientAPI { get; set; } private ILogger Logger { get; set; } private AutomapSystem _localAutomap; private AutomapGUIDialog _automapDialog; public override bool ShouldLoad(EnumAppSide forSide) { return forSide.IsClient(); } public override void StartClientSide(ICoreClientAPI api) { this.API = api; if (api.Side == EnumAppSide.Client) { this.ClientAPI = api as ICoreClientAPI; this.Logger = Mod.Logger; ClientAPI.Logger.VerboseDebug("Automap Present!"); _localAutomap = new AutomapSystem(this.ClientAPI, this.Logger); _automapDialog = new AutomapGUIDialog(ClientAPI, _localAutomap); ClientAPI.Input.RegisterHotKey(AutomapGUIDialog._automapControlPanelKey, "Automap control panel", GlKeys.M, HotkeyType.GUIOrOtherControls, shiftPressed: true); ClientAPI.Input.SetHotKeyHandler(AutomapGUIDialog._automapControlPanelKey, ToggleAM_Dialog); } base.StartClientSide(api); } public override double ExecuteOrder() { return 0.2; } private bool ToggleAM_Dialog(KeyCombination comb) { if (_automapDialog.IsOpened()) _automapDialog.TryClose(); else _automapDialog.TryOpen(); return true; } } }