public void act(){
        //if it gone past the start menu
        if (start){
            MouseInfo mouse = Greenfoot.getMouseInfo();
            uiAct();        
            s.run();
            //if the level started, increase the time and prepare the spawn
            if (levelStart){
                prepareSpawn();
                time++;
            }

            /**Terence's Stuff**/
            checkInput(mouse); 
            if (mouse != null){
                trackButtons(mouse);
                if (place) // used to place tower when onto the field
                    trackMouse(mouse);
            }
        }
        else if (init){
            initCounter++;
            intalize();
            loadScreen.update();
        }
        else{
            //if the user presses a when they are on the start screen, start the actual game
            //temp fix, add buttons later
            if (startScreen.gameStart()){
                removeObjects (getObjects (SSButtons.class));
                removeObject (startScreen);
                loadScreen = new LoadScreen(6);
                addObject (loadScreen, 512, 384);
                init = true;
            }
        }
    }