Index: code/branches/sagerjFS16/src/modules/overlays/hud/HUDChargeBar.cc
===================================================================
--- code/branches/sagerjFS16/src/modules/overlays/hud/HUDChargeBar.cc	(revision 11185)
+++ code/branches/sagerjFS16/src/modules/overlays/hud/HUDChargeBar.cc	(revision 11189)
@@ -31,5 +31,4 @@
 #include "util/Convert.h"
 #include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
 #include "worldentities/pawns/Pawn.h"
 #include "overlays/OverlayGroup.h"
@@ -45,46 +44,8 @@
 
         this->owner_ = nullptr;
-        this->bUseBarColour_ = false;
-        this->textOffset_ = Vector2(0.0f, 0.0f);
-        this->textScale_ = 1.0f;
-        this->correspondingMode_ = nullptr;
-
-        this->setIconPosition(Vector2(0.05f,0.5f));
-        this->setIconDimensions(Vector2(0.1f,0.5f));
-
-        this->textoverlay_ = new OverlayText(this->getContext());
-
-        assert(this->textoverlay_.get());
-
-        this->textoverlay_->setCaption("");
-        this->textoverlay_->setAspectCorrection(false);
-
-        positionText();
+        this->correspondingMode_ = nullptr;             // usually no chargeable weapon equipped
     }
 
-    HUDChargeBar::~HUDChargeBar()
-    {
-        if (this->isInitialized())
-        {
-            this->textoverlay_->destroy();
-            this->textoverlay_ = nullptr;
-        }
-    }
-
-    void HUDChargeBar::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(HUDChargeBar, XMLPort, xmlelement, mode);
-
-        XMLPortParam(HUDChargeBar, "showtext",          setTextVisible,          getTextVisible,          xmlelement, mode).defaultValues(true);
-        XMLPortParam(HUDChargeBar, "textfont",          setTextFont,             getTextFont,             xmlelement, mode).defaultValues("Monofur");
-        XMLPortParam(HUDChargeBar, "textusebarcolour",  setTextUseBarColour,     getTextUseBarColour,     xmlelement, mode).defaultValues(false);
-        XMLPortParam(HUDChargeBar, "textcolour",        setTextColour,           getTextColour,           xmlelement, mode).defaultValues(ColourValue(1.0, 1.0, 1.0, 1.0));
-        XMLPortParam(HUDChargeBar, "textalign",         setTextAlignmentString,  getTextAlignmentString,  xmlelement, mode).defaultValues("left");
-        XMLPortParam(HUDChargeBar, "textoffset",        setTextOffset,           getTextOffset,           xmlelement, mode).defaultValues(Vector2::ZERO);
-        XMLPortParam(HUDChargeBar, "textscale",         setTextScale,            getTextScale,            xmlelement, mode).defaultValues(1.0f);
-        XMLPortParam(HUDChargeBar, "textpickpoint",     setTextPickPoint,        getTextPickPoint,        xmlelement, mode).defaultValues(Vector2::ZERO);
-        XMLPortParam(HUDChargeBar, "textrotation",      setTextRotation,         getTextRotation,         xmlelement, mode).defaultValues(0.0f);
-        XMLPortParam(HUDChargeBar, "textspacewidth",    setTextSpaceWidth,       getTextSpaceWidth,       xmlelement, mode).defaultValues(true);
-    }
+    HUDChargeBar::~HUDChargeBar() { }
 
     void HUDChargeBar::tick(float dt)
@@ -94,20 +55,21 @@
         if (this->owner_)
         {
-            if(correspondingMode_ != nullptr){
-                this->setValue( correspondingMode_->getCharges() * 1.0f / correspondingMode_->getMaxCharges() );
-                this->textoverlay_->setCaption(multi_cast<std::string>(static_cast<int>(this->owner_->getHealth())));
+            if(correspondingMode_ != nullptr)                                                                       // if there is a chargeable weapon equipped we want to show the charged amount with a HUDBar
+            {
+                this->setValue( correspondingMode_->getCharges() * 1.0f / correspondingMode_->getMaxCharges() );    // The Value of the HUDBar is the ratio of current Charges and the maximum Charges possible
+                
+                if(this->correspondingMode_->getCharges() > 0)                                                      // The HUDBar should only be visible when we are charging up
+                    this->setVisible(true);
+                }
+                else
+                {
+                    this->setVisible(false);
+                }
             }
-
-            
         }
         else
         {
             this->setValue(0);
-            this->textoverlay_->setCaption("0");
         }
-
-        if (this->bUseBarColour_)
-            this->textoverlay_->setColour(this->getCurrentBarColour());
-
 
     }
@@ -116,4 +78,7 @@
     {
         SUPER(HUDChargeBar, changedOwner);
+
+        this->setVisible(false);
+        this->correspondingMode_ = nullptr;
 
         this->owner_ = orxonox_cast<Pawn*>(this->getOwner());
@@ -141,56 +106,3 @@
         }
     }
-
-    void HUDChargeBar::changedOverlayGroup()
-    {
-        SUPER(HUDChargeBar, changedOverlayGroup);
-
-        this->getOverlayGroup()->addElement(this->textoverlay_.get());
-    }
-
-    void HUDChargeBar::changedVisibility()
-    {
-        SUPER(HUDChargeBar, changedVisibility);
-
-        this->textoverlay_->setVisible(this->isVisible());
-    }
-
-    void HUDChargeBar::changedName()
-    {
-        SUPER(HUDChargeBar, changedName);
-
-        this->textoverlay_->setName(this->getName() + "text");
-    }
-
-    void HUDChargeBar::setTextColour(const ColourValue& colour)
-    {
-        this->textColour_ = colour;
-        if (!this->bUseBarColour_)
-            this->textoverlay_->setColour(colour);
-    }
-
-    void HUDChargeBar::setTextUseBarColour(bool bUseBarColour)
-    {
-        this->bUseBarColour_ = bUseBarColour;
-        if (!bUseBarColour)
-            this->textoverlay_->setColour(this->textColour_);
-    }
-
-    void HUDChargeBar::positionText()
-    {
-        this->textoverlay_->setPosition(this->getPosition() + this->textOffset_*this->getActualSize());
-        this->textoverlay_->setTextSize(this->getActualSize().y*this->textScale_);
-    }
-
-    void HUDChargeBar::positionChanged()
-    {
-        HUDBar::positionChanged();
-        positionText();
-    }
-
-    void HUDChargeBar::sizeChanged()
-    {
-        HUDBar::sizeChanged();
-        positionText();
-    }    
 }
