using vnxbqy.UI; using System; //对应底层的OperationTimeHepler class ILOperationTimeHepler : ILSingleton { public event Action operationTimeUpdateEvent; //连续多日累充 public void UpdateManyDayRecharge(IL_HAA48_tagMCActManyDayRechargeInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default1; switch (package.ActNum) { case 10: operationType = Operation.default1; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationManyDayRecharge(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationManyDayRecharge operation = operationBase as OperationManyDayRecharge; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ParseRebate(package); operation.ActNum = package.ActNum; if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateCSRecharge(IL_HAA32_tagMCCACTGBillboardInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default7; OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationCSRecharge(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationCSRecharge operation = operationBase as OperationCSRecharge; operation.Reset(); operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ParseRebate(package); //operation.ActNum = package.GroupValue1; if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateRefuseClassification(IL_HAA55_tagMCActGarbageSortingInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default3; switch (package.ActNum) { case 30: operationType = Operation.default3; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationRefuseClassification(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationRefuseClassification operation = operationBase as OperationRefuseClassification; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ActNum = package.ActNum; operation.resetType = package.ResetType; if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateXianXiaMJInfo(HAA58_tagMCActXianXiaMJInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default4; switch (package.ActNum) { case 30: operationType = Operation.default4; break; case 31: operationType = Operation.default36; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationXianXiaMJLottery(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationXianXiaMJLottery operation = operationBase as OperationXianXiaMJLottery; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ParseJoinTime(package.JoinStartTime, package.JoinEndTime); operation.ActNum = package.ActNum; operation.dayReset = package.IsDayReset == 1; operation.UpdateActXianXiaMJInfo(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateActXianXiaMJLayerInfo(HAA79_tagMCActXianXiaMJLayerInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default4; switch (package.ActNum) { case 30: operationType = Operation.default4; break; case 31: operationType = Operation.default36; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (operationBase == null) { return; } OperationXianXiaMJLottery operation = operationBase as OperationXianXiaMJLottery; operation.UpdateActXianXiaMJLayerInfo(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } //IL_HAA58_tagMCActXianXiaMJInfo 包含了翻牌的数据信息,AA59在此处一并处理 // AA 59 仙匣秘境抽奖结果 #tagMCActXianXiaMJAwardItemResult public void UpdateXianXiaMJAwardItemResult(HAA59_tagMCActXianXiaMJAwardItemResult package) { OperationBase operationBase = null; Operation operationType = Operation.default4; switch (package.ActNum) { case 30: operationType = Operation.default4; break; case 31: operationType = Operation.default36; break; } if (!OperationTimeHepler.Instance.TryGetOperationTime(operationType, out operationBase)) { return; } OperationXianXiaMJLottery operation = operationBase as OperationXianXiaMJLottery; operation.UpdateXianXiaMJAwardItemResult(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } public void UpdateQCSYInfo(IL_HAA54_tagMCActHorsePetFeastInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default11; switch (package.ActNum) { case 20: operationType = Operation.default11; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationQCSY(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationQCSY operation = operationBase as OperationQCSY; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ActNum = package.ActNum; operation.ParseQCSY(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateTurntableActionInfo(IL_HAA52_tagMCActTurntableInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default9; switch (package.ActNum) { case 20: operationType = Operation.default9; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationTurntable(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationTurntable operation = operationBase as OperationTurntable; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ActNum = package.ActNum; operation.UpdateTurntable(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateLuckyCloudBuyRound(IL_HC012_tagGCLuckyCloudBuyRoundInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default18; OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationLuckyCloudBuy(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationLuckyCloudBuy operation = operationBase as OperationLuckyCloudBuy; operation.Reset(); operation.limitLv = package.LVLimit; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.UpdateLuckyCloudBuyRoundInfo(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } //天帝礼包 public void UpdateGodKingGiftInfo(IL_HAA60_tagMCActGodGiftInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default22; switch (package.ActNum) { case 10: operationType = Operation.default22; break; } OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationGodKingGift(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationGodKingGift operation = operationBase as OperationGodKingGift; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.ActNum = package.ActNum; operation.dayReset = package.IsDayReset == 1; operation.UpdateNetPack(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } public void UpdateBuy1Free5Info(IL_HAA65_tagMCActBuyOneInfo package) { OperationBase operationBase = null; Operation operationType = Operation.default25; OperationTimeHepler.Instance.operationDict.TryGetValue(operationType, out operationBase); if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate)) { OperationTimeHepler.Instance.ForceStopOperation(operationType); } else { if (operationBase == null) { operationBase = new OperationBuy1Free5(); OperationTimeHepler.Instance.operationDict.Add(operationType, operationBase); } OperationBuy1Free5 operation = operationBase as OperationBuy1Free5; operation.Reset(); operation.limitLv = package.LimitLV; operation.startDate = OperationTimeHepler.Instance.ParseOperationDate(package.StartDate); operation.endDate = OperationTimeHepler.Instance.ParseOperationDate(package.EndtDate); operation.dayReset = package.IsDayReset == 1; operation.ActNum = package.ActNum; operation.ParsePackage(package); if (operationTimeUpdateEvent != null) { operationTimeUpdateEvent(operationType); } } } }