public World(MainPlay context, Hero[] heroes,HUD hud){
        this.context = context;
        profile = (MainProfile)context.engine.getProfile();
        
        this.hud = hud;
        
        
        //Lanes component
        lanes = new Lanes(LANE_NUMBER, 40, 2, 80);
        comboObj = new Combo();
        faObj = new FinalAttack();
        
        
        //Heroes component
        this.heroes =  heroes;
        
        enemiesLanes = new Vector[LANE_NUMBER];
        for (int i = 0; i < LANE_NUMBER; i++){
            enemiesLanes[i] = new Vector();
        }
        
        fixHeroesPlacement();
        r = new Random();
        
        int[] en = new int[3];
        en[0] = EnemyGenerator.ALIEN;
        en[1] = EnemyGenerator.ALIEN2;
        en[2] = EnemyGenerator.ALIEN3;
        eg = new EnemyGenerator(this, 1000, en, 1000);
        
        isWaveEnd = false;
    }