private void TimerProc(object sender, EventArgs e) { CoupleWishSyncData _syncData = TianTiClient.getInstance().CoupleWishSyncCenterData( this.SyncData.ThisWeek.ModifyTime, this.SyncData.LastWeek.ModifyTime, this.SyncData.Statue.ModifyTime); if (_syncData == null) { return; } lock (Mutex) { if (_syncData.ThisWeek.ModifyTime != this.SyncData.ThisWeek.ModifyTime) { this.SyncData.ThisWeek = _syncData.ThisWeek; this.ThisWeekTopNList.Clear(); foreach (var syncCouple in this.SyncData.ThisWeek.RankList) { if (syncCouple.Rank > CoupleWishConsts.MaxRankNum) { break; } CoupleWishCoupleData couple = new CoupleWishCoupleData(); couple.DbCoupleId = syncCouple.DbCoupleId; couple.Man = syncCouple.Man; if (syncCouple.ManSelector != null) { couple.ManSelector = DataHelper.BytesToObject <RoleData4Selector>(syncCouple.ManSelector, 0, syncCouple.ManSelector.Length); } couple.Wife = syncCouple.Wife; if (syncCouple.WifeSelector != null) { couple.WifeSelector = DataHelper.BytesToObject <RoleData4Selector>(syncCouple.WifeSelector, 0, syncCouple.WifeSelector.Length); } couple.BeWishedNum = syncCouple.BeWishedNum; couple.Rank = syncCouple.Rank; this.ThisWeekTopNList.Add(couple); } } if (_syncData.LastWeek.ModifyTime != this.SyncData.LastWeek.ModifyTime) { this.SyncData.LastWeek = _syncData.LastWeek; } if (_syncData.Statue.ModifyTime != this.SyncData.Statue.ModifyTime) { this.SyncData.Statue = _syncData.Statue; StatueMgr.SetDiaoXiang(this.SyncData.Statue); } } }
public CoupleWishSyncData CoupleWishSyncCenterData(DateTime oldThisWeek, DateTime oldLastWeek, DateTime oldStatue) { CoupleWishSyncData result; try { lock (this.Mutex) { CoupleWishSyncData syncData = new CoupleWishSyncData(); if (oldThisWeek != this.SyncData.ThisWeek.ModifyTime && TimeUtil.RandomDispatchTime(oldThisWeek, TimeUtil.NowDateTime(), 180, 60, 10)) { syncData.ThisWeek = this.SyncData.ThisWeek.SimpleClone(); } else { syncData.ThisWeek.ModifyTime = oldThisWeek; } if (oldLastWeek != this.SyncData.LastWeek.ModifyTime && TimeUtil.RandomDispatchTime(oldLastWeek, TimeUtil.NowDateTime(), 180, 60, 10)) { syncData.LastWeek = this.SyncData.LastWeek.SimpleClone(); } else { syncData.LastWeek.ModifyTime = oldLastWeek; } if (oldStatue != this.SyncData.Statue.ModifyTime && TimeUtil.RandomDispatchTime(oldStatue, TimeUtil.NowDateTime(), 180, 60, 10)) { syncData.Statue = this.SyncData.Statue.SimpleClone(); } else { syncData.Statue.ModifyTime = oldStatue; } result = syncData; } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.Message); result = null; } return(result); }
/// <summary> /// gameserver 同步数据 /// </summary> /// <param name="lastSyncTime"></param> /// <returns></returns> public CoupleWishSyncData CoupleWishSyncCenterData(DateTime oldThisWeek, DateTime oldLastWeek, DateTime oldStatue) { try { lock (Mutex) { CoupleWishSyncData syncData = new CoupleWishSyncData(); if (oldThisWeek != this.SyncData.ThisWeek.ModifyTime) { syncData.ThisWeek = this.SyncData.ThisWeek.SimpleClone(); } else { syncData.ThisWeek.ModifyTime = oldThisWeek; } if (oldLastWeek != this.SyncData.LastWeek.ModifyTime) { syncData.LastWeek = this.SyncData.LastWeek.SimpleClone(); } else { syncData.LastWeek.ModifyTime = oldLastWeek; } if (oldStatue != this.SyncData.Statue.ModifyTime) { syncData.Statue = this.SyncData.Statue.SimpleClone(); } else { syncData.Statue.ModifyTime = oldStatue; } return(syncData); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.Message); return(null); } }