enum RandomGeneratorSyncUsage
{
	RGSRecoil,
	RGSJam,
	RGSGeneric,
	RGSAimingModel,
	RGSAnimalCatching,
	Count,
}

class RandomGeneratorSyncManager
{
	const int USAGE_COUNT = RandomGeneratorSyncUsage.Count;
	
	float randomValuesArray[USAGE_COUNT];
	DayZPlayer m_player;
	
	void RandomGeneratorSyncManager(DayZPlayer player)
	{
		m_player = player;
	}

	void Update()
	{
		for(int i = 0; i < USAGE_COUNT; i++ )
		{
			randomValuesArray[i] = m_player.Random01();
		}
	}	
	
	
	float GetRandom01(RandomGeneratorSyncUsage usage_index)
	{
		if(usage_index < USAGE_COUNT)
		{
			return randomValuesArray[usage_index];
		}
		return -1;
	}
	
	float GetRandomInRange(RandomGeneratorSyncUsage usage_index, float min, float max)
	{
		return GetRandom01(usage_index)*(max - min) + min;
	}
}