public void ResetOnlineGuildDailyGPScheduleFunc() { HeroesDataContext heroesDataContext = new HeroesDataContext(); List <long> list = new List <long>(this.OnlineGuildIDList); GuildGainGPMessage guildGainGPMessage = new GuildGainGPMessage(0L); foreach (long id in list) { IEntity entityByID = base.GetEntityByID(id); if (entityByID != null && !entityByID.IsClosed) { GuildEntity guildEntity = entityByID.Tag as GuildEntity; if (entityByID != null) { heroesDataContext.ResetInGameGuildDailyGainGP(guildEntity.GuildSN); guildEntity.GuildInfo.DailyGainGP.Clear(); guildGainGPMessage.GuildPoint = guildEntity.GuildInfo.GuildPoint; foreach (OnlineGuildMember onlineGuildMember in guildEntity.OnlineMembers.Values) { onlineGuildMember.RequestFrontendOperation(SendPacket.Create <GuildGainGPMessage>(guildGainGPMessage)); } } } } DateTime d = GuildContents.GetPrevDailyGPResetTime() + TimeSpan.FromDays(1.0); this.DailyGPResetScheduleID = Scheduler.Schedule(JobProcessor.Current, Job.Create(new Action(this.ResetOnlineGuildDailyGPScheduleFunc)), d - DateTime.UtcNow + TimeSpan.FromSeconds(30.0)); }
public override void Initialize(JobProcessor thread) { ConnectionStringLoader.LoadFromServiceCore(Settings.Default); base.Initialize(thread, GuildServiceOperations.TypeConverters); base.RegisterMessage(OperationMessages.TypeConverters); base.RegisterAllProcessors(Assembly.GetExecutingAssembly()); if (FeatureMatrix.IsEnable("koKR") && !FeatureMatrix.IsEnable("NewbieGuildRecommend")) { try { GroupNMLinkSoapResult groupNMLinkSoapResult = new GroupNMLinkSoapWrapper(130076).Execute(); if (groupNMLinkSoapResult.SoapErrorCode == 0) { Log <GuildService> .Logger.InfoFormat("길드 Refresh 성공", new object[0]); } else { Log <GuildService> .Logger.ErrorFormat("길드 Refresh 실패 : {0}", groupNMLinkSoapResult.SoapErrorCode); } } catch (Exception ex) { Log <GuildService> .Logger.Error("길드 Refresh 예외", ex); } } if (FeatureMatrix.IsEnable("GuildWebChat") && ServiceCoreSettings.Default.GuildChatWcfService.Length > 0) { base.OnSetupID += delegate(int id) { Scheduler.Schedule(base.Thread, Job.Create(delegate { this.InitializeGuildWebChat(id); }), 0); }; } this.OnlineGuildIDList = new List <long>(); DateTime d = GuildContents.GetPrevDailyGPResetTime() + TimeSpan.FromDays(1.0); this.DailyGPResetScheduleID = Scheduler.Schedule(thread, Job.Create(new Action(this.ResetOnlineGuildDailyGPScheduleFunc)), d - DateTime.UtcNow + TimeSpan.FromSeconds(30.0)); this.NewbieRecommendGuild = new List <long>(); this.LogThread = base.AcquireNewThread(); this.LogThread.Start(); }