using System; using SUISS.Core; using SUISS.Scheduling; using SUISSEngine; public class CIGInterestingEventFlagging : InterestingEventFlagging { public CIGInterestingEventFlagging(Messenger messenger, Scheduler scheduler, IRatingRequestManager ratingRequestManager) : base(messenger, scheduler, ratingRequestManager) { this.SetTimeOutInfo(); } protected override void HandleFlagAdd(CIGInterestingRatingTriggerEventType eventType) { switch (eventType) { case CIGInterestingRatingTriggerEventType.SpendCurrencies: if (base.FlagRaised(CIGInterestingRatingTriggerEventType.IAPPurchase)) { base.DelayedNotice(10.0); } break; case CIGInterestingRatingTriggerEventType.LevelUp: base.DelayedNotice(10.0); break; case CIGInterestingRatingTriggerEventType.OpenNewIsland: base.DelayedNotice(20.0); break; case CIGInterestingRatingTriggerEventType.FoundTreasure: base.DelayedNotice(10.0); break; case CIGInterestingRatingTriggerEventType.ClaimedAchievementAward: if (base.FlagsRaised(eventType) == 3) { base.DelayedNotice(10.0); } break; } } protected void SetTimeOutInfo() { this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.SpendCurrencies, new InterestingEventFlagging.TimeOutInfo(0, InterestingEventFlagging.TimeOutStyle.FullReset)); this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.ClaimedAchievementAward, new InterestingEventFlagging.TimeOutInfo(10, InterestingEventFlagging.TimeOutStyle.FullReset)); this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.FoundTreasure, new InterestingEventFlagging.TimeOutInfo(0, InterestingEventFlagging.TimeOutStyle.FullReset)); this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.IAPPurchase, new InterestingEventFlagging.TimeOutInfo(30, InterestingEventFlagging.TimeOutStyle.Decrement)); this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.LevelUp, new InterestingEventFlagging.TimeOutInfo(30, InterestingEventFlagging.TimeOutStyle.FullReset)); this._timeOutInfo.Add(CIGInterestingRatingTriggerEventType.OpenNewIsland, new InterestingEventFlagging.TimeOutInfo(20, InterestingEventFlagging.TimeOutStyle.Decrement)); } private const double LevelUpNotifyDelaySeconds = 10.0; private const double NewIslandNotifyDelaySeconds = 20.0; private const double FoundTreasureDelaySeconds = 10.0; private const double AchievementsClaimedDelaySeconds = 10.0; private const double SomethingBuildDelaySeconds = 10.0; }