private void ImportSlot(int slotId) { System.Console.WriteLine(slotId); string text; try { var path = Path.Combine(Application.persistentDataPath, $"GameSettings-Slot{slotId}"); text = File.ReadAllText(path); } catch { Cancel(FlashRed); return; } var splitText = text.Split("\n").ToList(); while (splitText.Count > 0) { var name = splitText[0].Trim(); splitText.RemoveAt(0); var option = AllOptions.FirstOrDefault(o => o.Name.Equals(name, StringComparison.Ordinal)); if (option == null) { try { splitText.RemoveAt(0); } catch { } continue; } var value = splitText[0]; splitText.RemoveAt(0); switch (option.Type) { case CustomOptionType.Number: option.Set(float.Parse(value), false); break; case CustomOptionType.Toggle: option.Set(bool.Parse(value), false); break; case CustomOptionType.String: option.Set(int.Parse(value), false); break; } } Rpc.SendRpc(); Cancel(FlashGreen); }
private OptionBase FindOption(string name) { var option = AllOptions.FirstOrDefault(o => o.Match(name)); if (option == null) { throw new OptionParserException("Unknown option: {0}".With(name)); } return(option); }