randomgeneratorsyncmanager.c 776 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. enum RandomGeneratorSyncUsage
  2. {
  3. RGSRecoil,
  4. RGSJam,
  5. RGSGeneric,
  6. RGSAimingModel,
  7. RGSAnimalCatching,
  8. Count,
  9. }
  10. class RandomGeneratorSyncManager
  11. {
  12. const int USAGE_COUNT = RandomGeneratorSyncUsage.Count;
  13. float randomValuesArray[USAGE_COUNT];
  14. DayZPlayer m_player;
  15. void RandomGeneratorSyncManager(DayZPlayer player)
  16. {
  17. m_player = player;
  18. }
  19. void Update()
  20. {
  21. for(int i = 0; i < USAGE_COUNT; i++ )
  22. {
  23. randomValuesArray[i] = m_player.Random01();
  24. }
  25. }
  26. float GetRandom01(RandomGeneratorSyncUsage usage_index)
  27. {
  28. if(usage_index < USAGE_COUNT)
  29. {
  30. return randomValuesArray[usage_index];
  31. }
  32. return -1;
  33. }
  34. float GetRandomInRange(RandomGeneratorSyncUsage usage_index, float min, float max)
  35. {
  36. return GetRandom01(usage_index)*(max - min) + min;
  37. }
  38. }