Skip to content

Commit

Permalink
Catch error if invalid keybind is present
Browse files Browse the repository at this point in the history
(invalid keys will now be logged in the logger)
  • Loading branch information
Yurihaia committed Mar 4, 2021
1 parent 108ca7d commit 64e3310
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 7 deletions.
11 changes: 11 additions & 0 deletions src/Data.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,16 @@ public class Settings
public string save_triggers = "[6]";
public float timerAnchorX = 0.15f;
public float timerAnchorY = 0.2f;

public void LogBindErrors()
{
StringInputManager.LogBindErors(new string[] {
reload_settings,
set_start,
set_end,
load_triggers,
save_triggers
});
}
}
}
4 changes: 2 additions & 2 deletions src/FrameCount.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ public void OnDestroy()
public void Update()
{
var updateTimer = false;
if (Input.GetKeyDown(HKTimer.instance.settings.pause))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.pause))
{
timerActive ^= true;
HKTimer.instance.targetManager.OnTimerPauseManual();
}
if (Input.GetKeyDown(HKTimer.instance.settings.reset))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.reset))
{
time = TimeSpan.Zero;
timerActive = false;
Expand Down
3 changes: 2 additions & 1 deletion src/HKTimer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void ReloadSettings()
{
Modding.Logger.Log("[HKTimer] Reading settings from " + path);
this.settings = JsonUtility.FromJson<Settings>(File.ReadAllText(path));
this.settings.LogBindErrors();
}
// Reload text positions
frameCount.ShowDisplay();
Expand All @@ -77,7 +78,7 @@ public void Start()

public void Update()
{
if (Input.GetKeyDown(HKTimer.instance.settings.reload_settings))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.reload_settings))
{
Modding.Logger.Log("[HKTimer] Reloading settings");
HKTimer.instance.ReloadSettings();
Expand Down
33 changes: 33 additions & 0 deletions src/StringInputManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using UnityEngine;

namespace HKTimer {
public class StringInputManager
{
public static void LogBindErors(string[] keys)
{
foreach(var s in keys)
{
try
{
if(s != null) Input.GetKeyDown(s);
}
catch
{
Modding.Logger.LogError("Invalid key code '" + s + "'");
}
}
}

public static bool GetKeyDown(string key)
{
try
{
return key != null && Input.GetKeyDown(key);
}
catch
{
return false;
}
}
}
}
8 changes: 4 additions & 4 deletions src/TargetManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public void Start()

public void Update()
{
if (Input.GetKeyDown(HKTimer.instance.settings.set_start))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.set_start))
{
this.start?.Destroy();
this.start = new CollisionTrigger()
Expand All @@ -187,7 +187,7 @@ public void Update()
this.pb = TimeSpan.Zero;
this.pbDisplay.text = this.PbText();
}
if (Input.GetKeyDown(HKTimer.instance.settings.set_end))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.set_end))
{
this.end?.Destroy();
this.end = new CollisionTrigger()
Expand All @@ -202,11 +202,11 @@ public void Update()
this.pb = TimeSpan.Zero;
this.pbDisplay.text = this.PbText();
}
if (Input.GetKeyDown(HKTimer.instance.settings.load_triggers))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.load_triggers))
{
LoadTriggers();
}
if (Input.GetKeyDown(HKTimer.instance.settings.save_triggers))
if (StringInputManager.GetKeyDown(HKTimer.instance.settings.save_triggers))
{
SaveTriggers();
}
Expand Down

0 comments on commit 64e3310

Please sign in to comment.