/// <summary> /// 线程驱动 /// </summary> public void ProcessQueue() { long nowTicks = TimeUtil.NOW(); List <LiXianGuaJiRoleItem> LiXianGuaJiRoleItems = GetLiXianGuaJiRoleItemList(); for (int i = 0; i < LiXianGuaJiRoleItems.Count; i++) { //先计时,再检测是否打到时限 DoSpriteMeditateTime(LiXianGuaJiRoleItems[i]); //挂机结束 if (/*nowTicks - LiXianGuaJiRoleItems[i].StartTicks >= MaxMingXiangTicks || */ (LiXianGuaJiRoleItems[i].MeditateTime + LiXianGuaJiRoleItems[i].NotSafeMeditateTime) >= MaxMingXiangTicks) { SaveDBLiXianGuaJiTimeForRole(LiXianGuaJiRoleItems[i]); //保存挂机时间 RemoveLiXianGuaJiRole(LiXianGuaJiRoleItems[i].RoleID); //从列表移除 //移除假人 if (LiXianGuaJiRoleItems[i].FakeRoleID > 0) { FakeRoleManager.ProcessDelFakeRole(LiXianGuaJiRoleItems[i].FakeRoleID); } //提示用户离线挂机终止 continue; } } }
public static void DelFakeRoleByClient(GameClient client) { int fakeRoleID = -1; LiXianSaleRoleItem liXianSaleRoleItem = null; lock (LiXianBaiTanManager._LiXianRoleInfoDict) { if (!LiXianBaiTanManager._LiXianRoleInfoDict.TryGetValue(client.ClientData.RoleID, out liXianSaleRoleItem)) { return; } fakeRoleID = liXianSaleRoleItem.FakeRoleID; } if (fakeRoleID > 0) { FakeRoleManager.ProcessDelFakeRole(fakeRoleID, false); } }
public void ProcessQueue() { long nowTicks = TimeUtil.NOW(); List <LiXianGuaJiRoleItem> LiXianGuaJiRoleItems = LiXianGuaJiManager.GetLiXianGuaJiRoleItemList(); for (int i = 0; i < LiXianGuaJiRoleItems.Count; i++) { this.DoSpriteMeditateTime(LiXianGuaJiRoleItems[i]); if (LiXianGuaJiRoleItems[i].MeditateTime + LiXianGuaJiRoleItems[i].NotSafeMeditateTime >= 43200000) { LiXianGuaJiManager.SaveDBLiXianGuaJiTimeForRole(LiXianGuaJiRoleItems[i]); LiXianGuaJiManager.RemoveLiXianGuaJiRole(LiXianGuaJiRoleItems[i].RoleID); if (LiXianGuaJiRoleItems[i].FakeRoleID > 0) { FakeRoleManager.ProcessDelFakeRole(LiXianGuaJiRoleItems[i].FakeRoleID, false); } } } }
public static bool DelFakeRoleByClient(GameClient client) { int fakeRoleID = -1; LiXianGuaJiRoleItem liXianGuaJiRoleItem = null; lock (LiXianGuaJiManager._LiXianRoleInfoDict) { if (!LiXianGuaJiManager._LiXianRoleInfoDict.TryGetValue(client.ClientData.RoleID, out liXianGuaJiRoleItem)) { return(false); } fakeRoleID = liXianGuaJiRoleItem.FakeRoleID; } if (fakeRoleID > 0) { FakeRoleManager.ProcessDelFakeRole(fakeRoleID, false); } return(true); }