public void render(boolean self, boolean mainLoopUpdate) {
        spatials = Main.frame.getContentPane().getSelectingPanel().getSelectedSpatials();
        if (spatials.isEmpty()) {
            return;
        }
        if (!self && !mainLoopUpdate) {
            spatialIds.removeAllItems();
            for (int i = 0; i < spatials.size(); i++) {
                spatialIds.addItem(spatials.get(i).getId());
            }
        }
        if (spatialIds.getItemCount() <= 0) { //if no items in combobox then return
            return;
        }

        /*
         * This is required because there are two threads, one for the main loop
         * and one for the UI, Someties a cell is removed and we cannot get
         * information about it.
         */       
        try {
            int chosenId = (int) spatialIds.getSelectedItem();


            Spatial s = getSpatialByID(chosenId);
            sizeLbl.setText("" + spatials.size() + " Chosen id is: " + chosenId);

            if (s instanceof Cell) {
                Cell c = (Cell) s;


                healthLbl.setText("" + c.getHealth());
                wLbl.setText("" + c.getW());
                hLbl.setText("" + c.getH());
                cellTypeLbl.setText("" + c.typeToString());
                locationLbl.setText("" + c.getLocation());
                fieldofViewLbl.setText("" + c.getFieldOfView());
                movesLeftLbl.setText("" + c.getMovesLeft());
                maxMovesLbl.setText("" + c.getMaxMoves());
                maxTurnLbl.setText("" + c.getMaxTurn());
                maxSpeedLbl.setText("" + c.getMaxSpeed());
                currentSpeedLbl.setText("" + c.getCurrentSpeed());
                separationRangeLbl.setText("" + c.getSeparationRange());
                detectionRangeLbl.setText("" + c.getDetectionRange());
                velocityLbl.setText("" + c.getVelocity());

            }


        } catch (Exception exc) {
        //nothing here
        };





    }