Input Screen Refactoring
Cleaned up the code for the input screen and refactored to prepare for mouse binding Consolidated wormhole and dock keys into one "Interact" key
This commit is contained in:
parent
c2a23b5f5e
commit
296a7f2958
47 changed files with 2676 additions and 393 deletions
|
|
@ -3,19 +3,19 @@ using System.Collections.Generic;
|
|||
using System.Globalization;
|
||||
using MessagePack;
|
||||
|
||||
[MessagePackObject, Serializable]
|
||||
[MessagePackObject]
|
||||
public class PlayerSettings
|
||||
{
|
||||
[Key(0)] public string Name = "Anonymous";
|
||||
[Key(1)] public SavedGame SavedRun;
|
||||
[Key(2)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
|
||||
[Key(3)] public int SignificantDigits = 3;
|
||||
[Key(4)] public bool TutorialPassed;
|
||||
[Key(5)] public Dictionary<string, string> HashedStoryFiles = new Dictionary<string, string>();
|
||||
[Key(2)] public bool TutorialPassed;
|
||||
[Key(3)] public Dictionary<string, string> HashedStoryFiles = new Dictionary<string, string>();
|
||||
[Key(4)] public PlayerGameplaySettings GameplaySettings;
|
||||
[Key(5)] public PlayerInputSettings InputSettings;
|
||||
|
||||
public string FormatTemperature(float t)
|
||||
{
|
||||
return TemperatureUnit switch
|
||||
return GameplaySettings.TemperatureUnit switch
|
||||
{
|
||||
TemperatureUnit.Kelvin => $"{Format(t)}°K",
|
||||
TemperatureUnit.Celsius => $"{Format(t - 273.15f)}°C",
|
||||
|
|
@ -27,7 +27,7 @@ public class PlayerSettings
|
|||
public float ParseTemperature(string s)
|
||||
{
|
||||
var t = float.Parse(s);
|
||||
return TemperatureUnit switch
|
||||
return GameplaySettings.TemperatureUnit switch
|
||||
{
|
||||
TemperatureUnit.Kelvin => t,
|
||||
TemperatureUnit.Celsius => t + 273.15f,
|
||||
|
|
@ -39,7 +39,7 @@ public class PlayerSettings
|
|||
public string Format(float d)
|
||||
{
|
||||
var magnitude = d == 0.0f ? 0 : (int)Math.Floor(Math.Log10(Math.Abs(d))) + 1;
|
||||
var digits = SignificantDigits;
|
||||
var digits = GameplaySettings.SignificantDigits;
|
||||
digits -= magnitude;
|
||||
if (digits < 0)
|
||||
digits = 0;
|
||||
|
|
@ -47,4 +47,16 @@ public class PlayerSettings
|
|||
var dec = Convert.ToChar(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator);
|
||||
return strdec.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) ? strdec.TrimEnd('0').TrimEnd(dec) : strdec;
|
||||
}
|
||||
}
|
||||
|
||||
public class PlayerGameplaySettings
|
||||
{
|
||||
[Key(0)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
|
||||
[Key(1)] public int SignificantDigits = 3;
|
||||
}
|
||||
|
||||
public class PlayerInputSettings
|
||||
{
|
||||
[Key(0)] public Dictionary<string, string> InputActionMap = new Dictionary<string, string>();
|
||||
[Key(1)] public bool FiveButtonMouse;
|
||||
}
|
||||
Loading…
Reference in a new issue