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();
        }
    }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        /// <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.");
            }
        }
Ejemplo n.º 4
0
 /// <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);
    }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
 /// <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;
 }