Files
prestonbane/src/engine/db/handlers/dbRunegateHandler.java
T

75 lines
2.8 KiB
Java
Raw Normal View History

// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.db.handlers;
import engine.gameManager.DbManager;
2024-05-12 13:36:47 -04:00
import engine.mbEnums;
import engine.objects.Building;
import engine.objects.Portal;
2023-05-18 07:54:04 -04:00
import org.pmw.tinylog.Logger;
2023-05-22 13:00:47 -04:00
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class dbRunegateHandler extends dbHandlerBase {
public dbRunegateHandler() {
}
public ArrayList<Integer> GET_RUNEGATE_LIST() {
ArrayList<Integer> gateList = new ArrayList<>();
2023-05-22 13:00:47 -04:00
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT DISTINCT `sourceBuilding` FROM `static_runegate_portals`;")) {
2023-05-22 13:00:47 -04:00
ResultSet rs = preparedStatement.executeQuery();
while (rs.next())
gateList.add(rs.getInt("sourceBuilding"));
2023-05-22 13:00:47 -04:00
} catch (SQLException e) {
2023-05-22 13:00:47 -04:00
Logger.error(e);
}
2023-05-22 13:00:47 -04:00
return gateList;
}
public ArrayList<Portal> GET_PORTAL_LIST(int gateUID) {
ArrayList<Portal> portalList = new ArrayList<>();
Building sourceBuilding = (Building) DbManager.getObject(mbEnums.GameObjectType.Building, gateUID);
2023-05-22 13:00:47 -04:00
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_runegate_portals` WHERE `sourceBuilding` = ?;")) {
preparedStatement.setInt(1, gateUID);
2023-05-22 13:00:47 -04:00
ResultSet rs = preparedStatement.executeQuery();
2023-02-15 13:10:08 -05:00
while (rs.next()) {
2023-02-15 13:49:34 -05:00
int targetBuildingID = rs.getInt("targetBuilding");
Building targetBuilding = (Building) DbManager.getObject(mbEnums.GameObjectType.Building, targetBuildingID);
mbEnums.PortalType portalType = mbEnums.PortalType.valueOf(rs.getString("portalType"));
Portal portal = new Portal(sourceBuilding, portalType, targetBuilding);
portalList.add(portal);
}
} catch (SQLException e) {
2023-05-22 13:00:47 -04:00
Logger.error(e);
}
return portalList;
}
}