001package com.fs.starfarer.api.util;
002
003import java.util.Random;
004
005import com.fs.starfarer.api.Global;
006
007public class Range {
008
009        public float min, max, range;
010        
011        public Range(String settingsKey) {
012                min = Global.getSettings().getFloatFromArray(settingsKey, 0);
013                max = Global.getSettings().getFloatFromArray(settingsKey, 1);
014                range = max - min;
015        }
016        
017        public float rollFloat(Random random) {
018                if (random == null) random = Misc.random;
019                return min + random.nextFloat() * range;
020        }
021        public int rollInt(Random random) {
022                if (random == null) random = Misc.random;
023                return (int) min + random.nextInt((int) range + 1);
024        }
025        
026        public float interpFloat(float t) {
027                return min + range * t;
028        }
029        
030        public int interpInt(float t) {
031                return (int) min + (int) Math.round(t * range);
032        }
033}