您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

68 行
1.4 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using SUISSEngine;
  4. public class TimeBoostItem : IPackEffect
  5. {
  6. public TimeBoostItem(Dictionary<string, object> props)
  7. {
  8. this._boostDurationInSeconds = (long)((double)props["Duration"]);
  9. this._boostMultiplier = (double)props["Multiplier"];
  10. }
  11. public TimeBoostItem(long boostDurationInSeconds, double boostMultiplier)
  12. {
  13. this._boostDurationInSeconds = boostDurationInSeconds;
  14. this._boostMultiplier = boostMultiplier;
  15. }
  16. public double BoostMultiplier
  17. {
  18. get
  19. {
  20. return this._boostMultiplier;
  21. }
  22. }
  23. public long BoostDurationInSeconds
  24. {
  25. get
  26. {
  27. return this._boostDurationInSeconds;
  28. }
  29. }
  30. public void ApplyEffect()
  31. {
  32. Singleton<OngoingRewardManager>.Instance.AddReward(new TimeBoostReward(this._boostMultiplier, DateTime.UtcNow, new TimeSpan(0, 0, (int)this._boostDurationInSeconds)));
  33. }
  34. public static TimeBoostItem FromStorage(Dictionary<string, object> dict)
  35. {
  36. return new TimeBoostItem((long)dict["Duration"], (double)dict["Multiplier"]);
  37. }
  38. public Dictionary<string, object> ToStorage()
  39. {
  40. return new Dictionary<string, object>
  41. {
  42. {
  43. "Duration",
  44. this.BoostDurationInSeconds
  45. },
  46. {
  47. "Multiplier",
  48. this.BoostMultiplier
  49. }
  50. };
  51. }
  52. public const string MultiplierKey = "Multiplier";
  53. public const string DurationKey = "Duration";
  54. private double _boostMultiplier;
  55. private long _boostDurationInSeconds;
  56. }