public void SetValue(string s, SettingDataType dataType) { DataType = dataType; switch (DataType) { case SettingDataType.Float: valueAsFloat = float.Parse(s); break; case SettingDataType.Long: valueAsLong = long.Parse(s); break; case SettingDataType.String: valueAsString = s; break; } if (OnChangedEvent == null) { OnChangedEvent = new UnityEvent(); } else { OnChangedEvent.Invoke(); } }
private void SetSettingModelValue(Setting setting, SettingModel model) { SettingDataType type = (SettingDataType)Enum.Parse(typeof(SettingDataType), setting.DataType, true); switch (type) { case SettingDataType.String: model.StringValue = Convert.ToString(setting.Value); break; case SettingDataType.Number: model.NumberValue = Convert.ToInt32(setting.Value); break; case SettingDataType.Boolean: model.BooleanValue = Convert.ToBoolean(setting.Value); break; case SettingDataType.Date: model.DateValue = Convert.ToDateTime(setting.Value); break; case SettingDataType.Picture: model.PictureValue = Convert.ToInt32(setting.Value); break; default: break; } }
/// <summary> Gets the native data type that the property value will be stored as in the <see cref="SettingsStore"/>. </summary> /// <param name="settingDataType"> The type/mechanism by which the value will be converted for storage. </param> /// <returns> The native data type that the property value will be stored as in the <see cref="SettingsStore"/>. </returns> protected virtual NativeSettingsType GetNativeSettingsType(SettingDataType settingDataType) { switch (settingDataType) { case SettingDataType.Legacy: case SettingDataType.String: case SettingDataType.Serialized: return(NativeSettingsType.String); case SettingDataType.Int32: return(NativeSettingsType.Int32); case SettingDataType.UInt32: return(NativeSettingsType.UInt32); case SettingDataType.Int64: return(NativeSettingsType.Int64); case SettingDataType.UInt64: return(NativeSettingsType.UInt64); case SettingDataType.Binary: return(NativeSettingsType.Binary); default: throw new InvalidOperationException($"GetNativeDataType for SettingDataType {settingDataType} is not supported."); } }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="type"></param> /// <param name="slots"></param> public MaterialTechniqueSetting(string name, SettingDataType type, int slots) { Name = name; DataType = type; BufferOffset = -1; BufferIndex = -1; GDTSlotNames = new string[slots]; }
public static Setting LoadFromPlayerPrefs(string name, SettingDataType type, bool persistAcrossSessions = true) { Setting newSetting = null; switch (type) { case SettingDataType.Long: newSetting = new Setting(name, PlayerPrefs.GetInt(name)); break; case SettingDataType.String: newSetting = new Setting(name, PlayerPrefs.GetString(name)); break; case SettingDataType.Float: newSetting = new Setting(name, PlayerPrefs.GetFloat(name)); break; } newSetting.PersistAcrossSessions = persistAcrossSessions; return(newSetting); }
private string GetValue(SettingModel model, string dataType) { SettingDataType type = (SettingDataType)Enum.Parse(typeof(SettingDataType), dataType, true); switch (type) { case SettingDataType.String: return(model.StringValue); case SettingDataType.Number: return(Convert.ToString(model.NumberValue)); case SettingDataType.Boolean: return(Convert.ToString(model.BooleanValue)); case SettingDataType.Date: return(Convert.ToString(model.DateValue)); case SettingDataType.Picture: return(Convert.ToString(model.PictureValue)); } return(null); }
/// <summary> Alters the default mechanism used to store/retrieve the value of this property from the setting store. </summary> /// <param name="settingDataType"> Specifies the type and/or method used to store and retrieve the value of the attributed /// property in the <see cref="WritableSettingsStore"/>. </param> public OverrideDataTypeAttribute(SettingDataType settingDataType) { SettingDataType = settingDataType; }
public Setting(string name, string val, SettingDataType dataType) { Name = name; SetValue(val, dataType); }
/// <summary> Alters the default type and mechanism used to store/retrieve the value of this /// property in the <see cref="SettingsStore"/>. </summary> /// <param name="settingDataType"> Specifies the type and/or method used to store and retrieve /// the value of the attributed property in the /// <see cref="SettingsStore"/>. </param> /// <param name="useTypeConverter"> (Optional, default <see langword="false"/>) If <see langword="true"/>, /// and the type has a <see cref="System.ComponentModel.TypeConverterAttribute"/> /// that allows for conversion to <paramref name="settingDataType"/>, this /// will be used to convert and store the property value. If the /// <paramref name="settingDataType"/> is <c>Legacy</c> or <c>Serialized</c> /// this has no effect. For other <see cref="SettingDataType"/> values, /// <see langword="false"/> will use the default conversion mechanism of /// <see cref="Convert.ChangeType(object, Type, IFormatProvider)" />, using /// <see cref="CultureInfo.InvariantCulture"/>. </param> public OverrideDataTypeAttribute(SettingDataType settingDataType, bool useTypeConverter = false) { SettingDataType = settingDataType; UseTypeConverter = useTypeConverter; }