OSDN Git Service

W.I.P. IV: More reliable entity / block scanning (full depth chunk scan), rock stats...
[automap/automap.git] / Automap / AutomapMod.cs
1 using Vintagestory.API.Client;
2 using Vintagestory.API.Common;
3
4
5
6 namespace Automap
7 {
8         public class AutomapMod : ModSystem
9         {
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;
15
16
17                 public override bool ShouldLoad(EnumAppSide forSide)
18                 {
19                         return forSide.IsClient();
20                 }
21
22                 public override void StartClientSide(ICoreClientAPI api)
23                 {                       
24                         this.API = api;
25
26                         if (api.Side == EnumAppSide.Client) {
27                         this.ClientAPI = api as ICoreClientAPI;
28                         this.Logger = Mod.Logger;
29
30
31                         ClientAPI.Logger.VerboseDebug("Automap Present!");
32                         _localAutomap = new AutomapSystem( this.ClientAPI, this.Logger);
33                         _automapDialog = new AutomapGUIDialog(ClientAPI, _localAutomap);
34
35                         ClientAPI.Input.RegisterHotKey(AutomapGUIDialog._automapControlPanelKey, "Automap control panel", GlKeys.A, HotkeyType.GUIOrOtherControls);
36                         ClientAPI.Input.SetHotKeyHandler(AutomapGUIDialog._automapControlPanelKey, ToggleAM_Dialog);
37                         }
38
39                         base.StartClientSide(api);
40                 }
41
42                 public override double ExecuteOrder( )
43                 {
44                 return 0.2;
45                 }
46
47                 private bool ToggleAM_Dialog(KeyCombination comb)
48                 {
49                 if (_automapDialog.IsOpened( )) _automapDialog.TryClose( );
50                 else _automapDialog.TryOpen( );
51
52                 return true;
53                 }
54         }
55 }
56