// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.db.handlers ;
import engine.gameManager.DbManager ;
import engine.mbEnums ;
import engine.objects.BuildingLocation ;
import org.pmw.tinylog.Logger ;
import java.sql.Connection ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import java.util.ArrayList ;
public class dbBuildingLocationHandler extends dbHandlerBase {
public dbBuildingLocationHandler ( ) {
this . localClass = BuildingLocation . class ;
this . localObjectType = mbEnums . GameObjectType . valueOf ( this . localClass . getSimpleName ( ) ) ;
}
public ArrayList < BuildingLocation > LOAD_BUILDING_LOCATIONS ( ) {
ArrayList < BuildingLocation > buildingLocations = new ArrayList < > ( ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT `MIN(ID)`,`BuildingID`,`slot`,`MIN(type)`,`MIN(unknown)`,`MIN(locX)`,`MIN(locY)`,`MIN(locZ)`,`MIN(w)`,`MIN(rotX)`,`MIN(rotY)`,`MIN(rotZ)` FROM static_building_location " +
"WHERE type IN (6, 8) " +
"GROUP BY BuildingID, slot " +
"ORDER BY BuildingID, slot ASC;" ) ) {
ResultSet rs = preparedStatement . executeQuery ( ) ;
buildingLocations = getObjectsFromRs ( rs , 20 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return buildingLocations ;
}
return buildingLocations ;
}
}