private void CreatePortalHotspots(RoomData room)
    {
        foreach (RoomPortal portalEntry in room.RoomPortals)
        {
            AABB2d boundingBox = new AABB2d();
            Point2d screenP0 = ClientGameConstants.ConvertRoomPositionToScreenPosition(portalEntry.boundingBox.Min);
            Point2d screenP1 = ClientGameConstants.ConvertRoomPositionToScreenPosition(portalEntry.boundingBox.Max);

            boundingBox.EnclosePoint(screenP0);
            boundingBox.EnclosePoint(screenP1);

            m_hotspotWidgets.Add(
                new HotspotWidget(m_rootWidgetGroup,
                    "Portal" + portalEntry.portal_id.ToString(),
                    boundingBox.Extents.i,
                    boundingBox.Extents.j,
                    boundingBox.Min.x,
                    boundingBox.Min.y,
                    new HotspotInfo {hotspotType=eHotspotType.portal, hotspotEntity=portalEntry}));
        }
    }
    private void CreateEnergyTankHotspots(RoomData room)
    {
        foreach (EnergyTankData energyTankData in room.EnergyTankMap.Values)
        {
            AABB2d boundingBox = new AABB2d();
            Point2d screenP0 = ClientGameConstants.ConvertRoomPositionToScreenPosition(energyTankData.boundingBox.Min);
            Point2d screenP1 = ClientGameConstants.ConvertRoomPositionToScreenPosition(energyTankData.boundingBox.Max);

            boundingBox.EnclosePoint(screenP0);
            boundingBox.EnclosePoint(screenP1);

            m_hotspotWidgets.Add(
                new HotspotWidget(m_rootWidgetGroup,
                    "EnergyTank" + energyTankData.energy_tank_id.ToString(),
                    boundingBox.Extents.i,
                    boundingBox.Extents.j,
                    boundingBox.Min.x,
                    boundingBox.Min.y,
                    new HotspotInfo {hotspotType=eHotspotType.energy_tank, hotspotEntity=energyTankData}));
        }
    }