Fixed key not found exception in dictionary
This commit is contained in:
parent
dcb08d229b
commit
689779e9de
@ -2,23 +2,25 @@
|
|||||||
|
|
||||||
public sealed class GameSettings(int gameSettingsCount = 8)
|
public sealed class GameSettings(int gameSettingsCount = 8)
|
||||||
{
|
{
|
||||||
private readonly Dictionary<string, int> _settings = new(gameSettingsCount);
|
private readonly Dictionary<string, int?> _settings = new(gameSettingsCount);
|
||||||
public IReadOnlyDictionary<string, int> Settings => _settings;
|
public IReadOnlyDictionary<string, int?> Settings => _settings;
|
||||||
|
|
||||||
public void AddSetting(string name, int value)
|
public int? this[string name] => _settings.GetValueOrDefault(name);
|
||||||
|
|
||||||
|
internal void AddSetting(string name, int value)
|
||||||
{
|
{
|
||||||
_settings.Add(name, value);
|
_settings.Add(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int AiDifficulty => _settings["FDIA"]; // FDIA = AIDF = AI Difficulty
|
public int? AiDifficulty => _settings.GetValueOrDefault("FDIA"); // FDIA = AIDF = AI Difficulty
|
||||||
public int StartResources => _settings["TSSR"]; // TSSR = RSST = Starting Resources
|
public int? StartResources => _settings.GetValueOrDefault("TSSR"); // TSSR = RSST = Starting Resources
|
||||||
public int LockTeams => _settings["MTKL"]; // MTKL = LKTM = Lock Teams
|
public int? LockTeams => _settings.GetValueOrDefault("MTKL"); // MTKL = LKTM = Lock Teams
|
||||||
public int CheatsOn => _settings["AEHC"]; // AEHC = CHEA = Cheats Enabled
|
public int? CheatsOn => _settings.GetValueOrDefault("AEHC"); // AEHC = CHEA = Cheats Enabled
|
||||||
public int StartingLocation => _settings["COLS"]; // COLS = SLOC = Starting Location
|
public int? StartingLocation => _settings.GetValueOrDefault("COLS"); // COLS = SLOC = Starting Location
|
||||||
public int GameSpeed => _settings["DPSG"]; // DPSG = GSPD = Game Speed
|
public int? GameSpeed => _settings.GetValueOrDefault("DPSG"); // DPSG = GSPD = Game Speed
|
||||||
public int ResourceSharing => _settings["HSSR"]; // HSSR = RSSH = Resource Sharing
|
public int? ResourceSharing => _settings.GetValueOrDefault("HSSR"); // HSSR = RSSH = Resource Sharing
|
||||||
public int ResourceRate => _settings["TRSR"]; // TRSR = RSRT = Resource Rate
|
public int? ResourceRate => _settings.GetValueOrDefault("TRSR"); // TRSR = RSRT = Resource Rate
|
||||||
public int DisableFlyers => _settings["YLFN"]; // YLFN = NFLY = No flyers
|
public int? DisableFlyers => _settings.GetValueOrDefault("YLFN"); // YLFN = NFLY = No flyers
|
||||||
|
|
||||||
public bool IsQuickStart => StartResources == 1;
|
public bool IsQuickStart => StartResources == 1;
|
||||||
public bool AreCheatsOn => CheatsOn == 1;
|
public bool AreCheatsOn => CheatsOn == 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user