@ -12,6 +12,7 @@ package engine.db.handlers;
				@@ -12,6 +12,7 @@ package engine.db.handlers;
					 
			
		
	
		
			
				
					import  engine.gameManager.DbManager ;  
			
		
	
		
			
				
					import  engine.mbEnums ;  
			
		
	
		
			
				
					import  engine.objects.EffectsResourceCosts ;  
			
		
	
		
			
				
					import  org.json.JSONObject ;  
			
		
	
		
			
				
					import  org.pmw.tinylog.Logger ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					import  java.sql.Connection ;  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -19,6 +20,7 @@ import java.sql.PreparedStatement;
				@@ -19,6 +20,7 @@ import java.sql.PreparedStatement;
					 
			
		
	
		
			
				
					import  java.sql.ResultSet ;  
			
		
	
		
			
				
					import  java.sql.SQLException ;  
			
		
	
		
			
				
					import  java.util.ArrayList ;  
			
		
	
		
			
				
					import  java.util.HashMap ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					public  class  dbEffectsResourceCostHandler  extends  dbHandlerBase  {  
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -27,6 +29,67 @@ public class dbEffectsResourceCostHandler extends dbHandlerBase {
				@@ -27,6 +29,67 @@ public class dbEffectsResourceCostHandler extends dbHandlerBase {
					 
			
		
	
		
			
				
					        this . localObjectType  =  mbEnums . GameObjectType . valueOf ( this . localClass . getSimpleName ( ) ) ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  void  GENERATE_COST_DATA ( )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  JSONObject  GET_EFFECT_COSTMAP ( String  effectID )  {   
			
		
	
		
			
				
					        HashMap < mbEnums . ResourceType ,  Integer >  costMap  =  new  HashMap < > ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "SELECT DISTINCT `IDString` FROM `static_power_effectcost` WHERE `IDString` = ?" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            preparedStatement . setString ( 1 ,  effectID ) ;   
			
		
	
		
			
				
					            ResultSet  rs  =  preparedStatement . executeQuery ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            while  ( rs . next ( ) )  {   
			
		
	
		
			
				
					                mbEnums . ResourceType  resourceType  =  mbEnums . ResourceType . resourceLookup . get ( rs . getInt ( "resource" ) ) ;   
			
		
	
		
			
				
					                int  value  =  rs . getInt ( "amount" ) ;   
			
		
	
		
			
				
					                costMap . put ( resourceType ,  value ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        return  new  JSONObject ( costMap ) ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  ArrayList < String >  GET_EFFECTS_WITH_COST ( )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        ArrayList < String >  effectList  =  new  ArrayList < > ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "SELECT DISTINCT `IDString` FROM `static_power_effectcost`" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            ResultSet  rs  =  preparedStatement . executeQuery ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            while  ( rs . next ( ) )  {   
			
		
	
		
			
				
					                effectList . add ( rs . getString ( "IdString" ) ) ;   
			
		
	
		
			
				
					            }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        return  effectList ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  boolean  WRITE_COSTMAP ( String  effectID ,  JSONObject  costmap )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  ( Connection  connection  =  DbManager . getConnection ( ) ;   
			
		
	
		
			
				
					             PreparedStatement  preparedStatement  =  connection . prepareStatement ( "INSERT INTO `static_effect_costmaps` (`effectID`, `costMap`) VALUES (?, ?) "  +   
			
		
	
		
			
				
					                     "ON DUPLICATE KEY UPDATE `costmap` = VALUES(`costmap`)" ) )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            preparedStatement . setString ( 1 ,  effectID ) ;   
			
		
	
		
			
				
					            preparedStatement . setString ( 2 ,  costmap . toString ( ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            return  ( preparedStatement . executeUpdate ( )  >  0 ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        }  catch  ( SQLException  e )  {   
			
		
	
		
			
				
					            Logger . error ( e ) ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					        return  false ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    public  ArrayList < EffectsResourceCosts >  GET_ALL_EFFECT_RESOURCES ( String  idString )  {   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        ArrayList < EffectsResourceCosts >  effectsResourceCosts  =  new  ArrayList < > ( ) ;