public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { if (ev.Handle.CurrentLobby != null) { this.manager.Sink(this.Leave(ev.Handle, ev.Handle.CurrentLobby)); } }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { if (ev.Handle.CurrentGroup != null) { this.LeaveGroup(ev.Handle); } }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { var beenOnlineFor = DateTime.Now - ev.Handle.LoggedAt; var user = this.FindUser(ev.Handle.User.Id); user.TotalSecondsOnline += beenOnlineFor.TotalSeconds; this.db.Write(c => c.UserUpdate(user)); }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { if (ev.Handle.Character != null) { Character ch = null; this.loggedCharacters.TryRemove(ev.Handle.Character.Id, out ch); } }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { if (this.config.Currency.Enabled) { try { this.GrantOnlineBonus(ev.Handle.User, DateTime.Now - ev.Handle.LoggedAt); } catch (Database.NotFoundException) { Log.Warning("Failed to grant bonus - user {username} not found in the db!", ev.Handle.User.Username); } } }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { lock (this.server) { var room = this.server.World.FindUserRoom(ev.Handle); if (room != null && !room.IsSemiPersistent && !room.IsPermanent) { this.server.Sink(this.CloseRoom(room)); } else if (room != null) { room.OwnerLastSeen = DateTime.Now; if (room.IsSemiPersistent) { Log.Information("Player {player} logged off and left his room {identifier} dangling", ev.Handle.Digest, room.Identifier); room.IsDangling = true; } } } }
public void PlayerLoggedOff(PlayerLoggedOffEvent ev) { Log.Debug("Removing agreements containing {player} - logged off", ev.Handle.Digest); this.removePoseAgreement(ev.Handle.Name); this.removeMarryAgreement(ev.Handle.Name); }