public RegisterParameter(SaveKeyName key, T defaultValue)
 {
     this.key = key.ToString();
     value    = LoadValue(defaultValue);
 }
 public static bool LoadBool(SaveKeyName key, bool defaultValue = false)
 {
     return(LoadBool(key.ToString(), defaultValue));
 }
 public static void Delete(SaveKeyName key)
 {
     Delete(key.ToString());
 }
 public static string LoadString(SaveKeyName key, string defaultValue = "")
 {
     return(LoadString(key.ToString(), defaultValue));
 }
 public static float LoadFloat(SaveKeyName key, float defaultValue = 0.0f)
 {
     return(LoadFloat(key.ToString(), defaultValue));
 }
 public static int LoadInt(SaveKeyName key, int defaultValue = 0)
 {
     return(LoadInt(key.ToString(), defaultValue));
 }
 public static void SaveBool(SaveKeyName key, bool value)
 {
     SaveBool(key.ToString(), value);
 }
 public static void SaveFloat(SaveKeyName key, float value)
 {
     SaveFloat(key.ToString(), value);
 }
 public static void SaveString(SaveKeyName key, string value)
 {
     SaveString(key.ToString(), value);
 }
 public static void SaveInt(SaveKeyName key, int value)
 {
     SaveInt(key.ToString(), value);
 }