using vnxbqy.UI;
|
using System;
|
|
//对应底层的OperationTimeHepler
|
class ILOperationTimeHepler : ILSingleton<ILOperationTimeHepler>
|
{
|
public event Action<Operation> 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);
|
}
|
}
|
}
|
}
|