From 19afd40e12fa68ae1ab9d98d56b36ccd83cbcab4 Mon Sep 17 00:00:00 2001 From: Obique Date: Tue, 6 Jan 2015 14:11:55 -0600 Subject: [PATCH] Added function to get a Player by the creature's name --- src/services/player/PlayerManager.java | 36 +++++++++++++++----------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/services/player/PlayerManager.java b/src/services/player/PlayerManager.java index 5fb016c49..e045e4e5d 100644 --- a/src/services/player/PlayerManager.java +++ b/src/services/player/PlayerManager.java @@ -1,8 +1,5 @@ package services.player; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.HashMap; import java.util.Map; @@ -66,19 +63,28 @@ public class PlayerManager extends Manager { } } - public boolean doesPlayerNameExisit(String characterName) { - try { - PreparedStatement statement = getLocalDatabase().prepareStatement("SELECT * FROM characters WHERE name = ?"); - statement.setString(1, characterName); - - ResultSet results = statement.executeQuery(); - return results.next(); - - } catch (SQLException e) { - e.printStackTrace(); + public Player getPlayerByCreatureName(String name) { + synchronized (players) { + for (Player p : players.values()) { + if (p.getCreatureObject() != null && p.getCreatureObject().getName().equals(name)) + return p; + } } - - return false; + return null; + } + + public Player getPlayerByCreatureFirstName(String name) { + synchronized (players) { + for (Player p : players.values()) { + if (p.getCreatureObject() != null) { + String cName = p.getCreatureObject().getName(); + if (cName.startsWith(name) && (cName.length() == name.length() || cName.charAt(name.length()) == ' ')) { + return p; + } + } + } + } + return null; } private Player transitionLoginToZone(final long networkId, final int galaxyId, ClientIdMsg clientId) {