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