MOClickConfigManager.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. //
  2. // MOClickConfigManager.m
  3. // MiMoLive
  4. //
  5. // Created by SuperC on 2024/4/30.
  6. //
  7. #import "MOClickConfigManager.h"
  8. static MOClickConfigManager *_manager;
  9. @implementation MOClickConfigManager
  10. ///单例
  11. + (MOClickConfigManager *)shareManager
  12. {
  13. static dispatch_once_t onceToken;
  14. dispatch_once(&onceToken, ^
  15. {
  16. _manager = [[MOClickConfigManager alloc] init];
  17. });
  18. return _manager;
  19. }
  20. - (void)resetAllProperty{
  21. self.isWork = NO;
  22. self.theClickNextNum = 0;
  23. self.theDiamondNextNum = 0;
  24. }
  25. - (void)setBaseData:(MOClickConfingData *)baseData{
  26. _baseData = baseData;
  27. self.clickSeed = baseData.clickSeed;
  28. self.diamondSeed = baseData.diamondSeed;
  29. self.theUpdataTime = [NSDate date];
  30. self.clickStep = 0;
  31. self.theClickNextNum = [self mo_nextClickNum];
  32. // [self.tempArr removeAllObjects];
  33. // [self.tempTwoArr removeAllObjects];
  34. }
  35. - (void)needWorkResetProperty{
  36. NSDate *currentTime = [NSDate date];
  37. if(([currentTime timeIntervalSinceDate:self.theUpdataTime] > 2.2)){
  38. self.theClickNextNum = self.theAddNextClickNum;
  39. self.theDiamondNextNum = self.theAddNextDiamonNum;
  40. self.clickStep = 1;
  41. }
  42. }
  43. - (void)needUpdateTheDiamondSeed:(long long)diamondSeed AndClickSeed:(long long)clickSeed{
  44. NSDate *currentTime = [NSDate date];
  45. if(([currentTime timeIntervalSinceDate:self.theUpdataTime] > 2.2)){
  46. self.clickSeed = clickSeed;
  47. self.diamondSeed = diamondSeed;
  48. self.clickStep = 0;
  49. self.theClickNextNum = [self mo_nextClickNum];
  50. }
  51. }
  52. static NSInteger MO_CLICK_NUM_A = 9301;
  53. static NSInteger MO_CLICK_NUM_B = 49297;
  54. static NSInteger MO_CLICK_NUM_C = 233280;
  55. - (NSInteger)mo_nextClickNum{
  56. self.clickSeed = (self.clickSeed * MO_CLICK_NUM_A + MO_CLICK_NUM_B) % MO_CLICK_NUM_C;
  57. double rnd = self.clickSeed / (MO_CLICK_NUM_C * 1.0);
  58. NSInteger result = self.baseData.clickMin + (NSInteger)(rnd * (self.baseData.clickMax - self.baseData.clickMin));
  59. // [self.tempArr addObject:@(self.clickSeed)];
  60. // for (NSNumber *number in self.tempArr) {
  61. // MOLogV(@"seed.clickSeed 11111111 - %lld",[number longLongValue]);
  62. // }
  63. self.clickStep ++;
  64. return result;
  65. }
  66. - (NSInteger)mo_nextZuanNum{
  67. self.diamondSeed = (self.diamondSeed * MO_CLICK_NUM_A + MO_CLICK_NUM_B) % MO_CLICK_NUM_C;
  68. double rnd = self.diamondSeed / (MO_CLICK_NUM_C * 1.0);
  69. NSInteger result = self.baseData.diamondMin + (NSInteger)(rnd * (self.baseData.diamondMax - self.baseData.diamondMin));
  70. // [self.tempTwoArr addObject:@(result)];
  71. // for (NSNumber *number in self.tempTwoArr) {
  72. // MOLogV(@"seed.next Num 11111111 - %zd",[number integerValue]);
  73. // }
  74. return result;
  75. }
  76. - (NSMutableArray *)tempArr{
  77. if(!_tempArr){
  78. _tempArr = [NSMutableArray array];
  79. }
  80. return _tempArr;
  81. }
  82. - (NSMutableArray *)tempTwoArr{
  83. if(!_tempTwoArr){
  84. _tempTwoArr = [NSMutableArray array];
  85. }
  86. return _tempTwoArr;
  87. }
  88. @end