using System;

namespace Cryville.Crtr.Config.UI {
	public class PVPNumber : PVPNumberBase {
		protected override void OnValueUpdated() {
			base.OnValueUpdated();
			if (Range != null && Range.Length == 2) {
				var min = (double)Range[0];
				var max = (double)Range[1];
				var value = Convert.ToDouble(RawValue);
				if (value < min) {
					value = min;
					RawValue = value;
				}
				else if (value > max) {
					value = max;
					RawValue = value;
				}
				SetRatio((float)((value - min) / (max - min)));
			}
		}
		protected override double GetValue(double ratio, float deltaTime, double min, double max) {
			// if (LogarithmicMode) throw new NotImplementedException();
			return (1 - ratio) * min + ratio * max;
		}
	}
}
