/// <summary> /// 保存月卡信息到数据库,外部需保证线程安全 /// </summary> /// <param name="yueKaDetail"></param> private static void _UpdateYKDetail2DB(GameClient client, YueKaDetail YKDetail) { string value = client.ClientData.YKDetail.SerializeToString(); //更新缓存同时写到数据库去 Global.SaveRoleParamsStringToDB(client, RoleParamName.YueKaInfo, value, true); }
public static void CheckValid(GameClient client) { if (!GameFuncControlManager.IsGameFuncDisabled(GameFuncType.System1Dot4Dot1)) { if (client != null) { lock (client.ClientData.YKDetail) { if (client.ClientData.YKDetail.HasYueKa != 0) { int todayOffset = Global.GetOffsetDay(TimeUtil.NowDateTime()); if (todayOffset >= client.ClientData.YKDetail.EndOffsetDay) { client.ClientData.YKDetail.HasYueKa = 0; } else { int curBegOffsetDay = client.ClientData.YKDetail.CurOffsetDay - client.ClientData.YKDetail.AwardInfo.Length + 1; if (todayOffset >= curBegOffsetDay + YueKaManager.DAYS_PER_YUE_KA) { client.ClientData.YKDetail.CurOffsetDay = todayOffset; client.ClientData.YKDetail.AwardInfo = ""; for (int i = curBegOffsetDay + YueKaManager.DAYS_PER_YUE_KA; i <= todayOffset; i++) { YueKaDetail ykdetail2 = client.ClientData.YKDetail; ykdetail2.AwardInfo += "0"; } } else { for (int i = client.ClientData.YKDetail.CurOffsetDay + 1; i <= todayOffset; i++) { YueKaDetail ykdetail3 = client.ClientData.YKDetail; ykdetail3.AwardInfo += "0"; } client.ClientData.YKDetail.CurOffsetDay = todayOffset; } } YueKaManager._UpdateYKDetail2DB(client, client.ClientData.YKDetail); } } } } }