namespace VCommon.VApplication.Setting
{
    public class SettingDefinition
    {
        public string Name { get; }
        public object DefaultValue { get; }

        public SettingScope Scope { get; }
        public SettingWriteLimit WriteLimit { get; }
        public SettingScriptAccess ScriptAccess { get; }

        public SettingDefinition(string name, SettingScope scope, SettingWriteLimit writeLimit, SettingScriptAccess scriptAccess = SettingScriptAccess.None, object defaultValue = null)
        {
            Scope = scope;
            WriteLimit = writeLimit;
            ScriptAccess = scriptAccess;
            Name = name;
            DefaultValue = defaultValue;
        }
    }
}
