import net.sf.jirr.*;

public class ApplicationManager 
{
  static protected ApplicationManager instance = null;
  static protected final float TIME_BETWEEN_ENEMIES = 2.0f;
  protected float timeSinceLastEnemy = 0;
  
  static public ApplicationManager getInstance()
  {
    if (instance == null)
      instance = new ApplicationManager();
    return instance;
  }
  
  protected ApplicationManager()
  {
    
  }
  
  public void startApplicationManager()
  {
    EngineManager.getInstance().addCollidingPair(CollisionIdentifiers.PLAYER_WEAPON, CollisionIdentifiers.ENEMY);
    
    new TileMapRenderer().startupTileMapRenderer(ResourceManager.level);
    new Player().startupPlayer();
  }
  
  public void shutdown()
  {
    
  }
  
  public void enterFrame(double dt)
  {
    timeSinceLastEnemy -= dt;
    if (timeSinceLastEnemy <= 0)
    {
      timeSinceLastEnemy = TIME_BETWEEN_ENEMIES;
      
      Enemy.getEnemy().startupEnemy(ResourceManager.Enemy1Res, new position2df((float) (java.lang.Math.random() * EngineManager.WINDOW_WIDTH), -ResourceManager.Enemy1Res.area.getHeight()));
    }
  }
}