using Cryville.Common.ComponentModel;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace Cryville.Crtr.Config {
	public class RulesetConfig {
		public Generic generic = new Generic();
		public class Generic {
			[Category("basic")]
			[JsonProperty("skin")]
			public string Skin { get; set; }

			[Category("deprecated")][Obsolete]
			[JsonProperty("scroll_velocity")][DefaultValue(1)]
			[LogarithmicScale][Step(0.5f)][Precision(1e-1)]
			public float ScrollVelocity { get; set; }

			public Generic() {
				Skin = "";
				ScrollVelocity = 1;
			}
		}
		public Dictionary<string, InputEntry> inputs
			= new Dictionary<string, InputEntry>();
		public class InputEntry {
			public string handler;
			public int type;
		}
	}
}
