public void UpdateHUD(Weapon weapon)
    {
        MissileWeapon mw = weapon as MissileWeapon;

        weaponName.text = weapon.name;

        if (weaponSystem.IsReloading())
        {
            reloadingPanel.SetActive(true);
        }
        else
        {
            reloadingPanel.SetActive(false);
        }

        if (mw != null)
        {
            if (mw.ammoType == AmmoType.Infinite)
            {
                if (mw.infiniteMagazine)
                {
                    currentAmmo.text                 = "";
                    ammoLeftInPoaches.text           = "";
                    infinityPoach.enabled            = false;
                    infinityPoachAndMagazine.enabled = true;
                    line.enabled = false;
                }
                else
                {
                    currentAmmo.text                 = mw.currentMagazineAmmo.ToString();
                    ammoLeftInPoaches.text           = "";
                    infinityPoach.enabled            = true;
                    infinityPoachAndMagazine.enabled = false;
                    line.enabled = true;
                }
            }
            else
            {
                currentAmmo.text                 = mw.currentMagazineAmmo.ToString();
                ammoLeftInPoaches.text           = weaponSystem.GetAmmo(mw.ammoType).ToString();
                infinityPoach.enabled            = false;
                infinityPoachAndMagazine.enabled = false;
                line.enabled = true;
            }
        }
        else
        {
            currentAmmo.text                 = "";
            ammoLeftInPoaches.text           = "";
            infinityPoach.enabled            = false;
            infinityPoachAndMagazine.enabled = false;
            line.enabled = true;
        }
    }