|
- using System;
- using System.Collections.Generic;
- using SUISSEngine;
-
- public class TimeBoostItem : IPackEffect
- {
- public TimeBoostItem(Dictionary<string, object> props)
- {
- this._boostDurationInSeconds = (long)((double)props["Duration"]);
- this._boostMultiplier = (double)props["Multiplier"];
- }
-
- public TimeBoostItem(long boostDurationInSeconds, double boostMultiplier)
- {
- this._boostDurationInSeconds = boostDurationInSeconds;
- this._boostMultiplier = boostMultiplier;
- }
-
- public double BoostMultiplier
- {
- get
- {
- return this._boostMultiplier;
- }
- }
-
- public long BoostDurationInSeconds
- {
- get
- {
- return this._boostDurationInSeconds;
- }
- }
-
- public void ApplyEffect()
- {
- Singleton<OngoingRewardManager>.Instance.AddReward(new TimeBoostReward(this._boostMultiplier, DateTime.UtcNow, new TimeSpan(0, 0, (int)this._boostDurationInSeconds)));
- }
-
- public static TimeBoostItem FromStorage(Dictionary<string, object> dict)
- {
- return new TimeBoostItem((long)dict["Duration"], (double)dict["Multiplier"]);
- }
-
- public Dictionary<string, object> ToStorage()
- {
- return new Dictionary<string, object>
- {
- {
- "Duration",
- this.BoostDurationInSeconds
- },
- {
- "Multiplier",
- this.BoostMultiplier
- }
- };
- }
-
- public const string MultiplierKey = "Multiplier";
-
- public const string DurationKey = "Duration";
-
- private double _boostMultiplier;
-
- private long _boostDurationInSeconds;
- }
|