void Start()
    {
        background  = GetComponent <UnityEngine.UI.Image>();
        title       = transform.Find("Title").GetComponent <UnityEngine.UI.Text>();
        distance    = transform.Find("Distance").GetComponent <UnityEngine.UI.Text>();
        buttonClose = transform.Find("ButtonClose").GetComponent <UnityEngine.UI.Button>();
        buttonClose.onClick.AddListener(buttonCloseAction);

        sliderShield = transform.Find("SliderShield").GetComponent <UnityEngine.UI.Slider> ();
        sliderArmor  = transform.Find("SliderArmor").GetComponent <UnityEngine.UI.Slider> ();
        sliderHull   = transform.Find("SliderHull").GetComponent <UnityEngine.UI.Slider> ();
        //sliderEnergy = transform.Find ("SliderEnergy").GetComponent<UnityEngine.UI.Slider> ();
        sliderShieldText = transform.Find("SliderShield/Fill Area/Text").GetComponent <UnityEngine.UI.Text> ();
        sliderArmorText  = transform.Find("SliderArmor/Fill Area/Text").GetComponent <UnityEngine.UI.Text> ();
        sliderHullText   = transform.Find("SliderHull/Fill Area/Text").GetComponent <UnityEngine.UI.Text> ();
        //sliderEnergyText = transform.Find ("SliderEnergy/Fill Area/Text").GetComponent<UnityEngine.UI.Text> ();


        refresh();

        if (master && owner && target)
        {
            title.text = target.getName();
        }
    }
        public string damageMessage()
        {
            string str = "";

            if (damageSum > 0f)
            {
                if (isDestroyed)
                {
                    str = dealerOfDamage.getName() + " dealt " + Mathf.Floor(damageSum * 100f) / 100f + " " + dmgType + " damage to " + recepientOfDamage.getName() + " and destroyed it ";
                }
                else
                {
                    str = dealerOfDamage.getName() + " dealt " + Mathf.Floor(damageSum * 100f) / 100f + " " + dmgType + " damage to " + recepientOfDamage.getName() + " ";
                }

                List<string> dmgStrList = new List<string>();
                if (damageShield > 0f) dmgStrList.Add(Mathf.Floor(damageShield * 100f) / 100f + " to shield");
                if (damageArmor > 0f) dmgStrList.Add(Mathf.Floor(damageArmor * 100f) / 100f + " to armor");
                if (damageHull > 0f) dmgStrList.Add(Mathf.Floor(damageHull * 100f) / 100f + " to hull");

                str += "(";
                for (int i = 0; i < dmgStrList.Count; i++)
                {
                    str += dmgStrList[i];
                    if (i + 1 < dmgStrList.Count) str += ", ";
                }
                str += ")";

                if (damageOverkill > 0f)
                {
                    str += ", " + Mathf.Floor(damageOverkill * 100f) / 100f + " overkill";
                }
                str += ".";
            }
            else
            {
                str = dealerOfDamage.getName() + " dealt no damage to " + recepientOfDamage.getName() + ".";
            }

            return str;
        }
 private void refreshItem()
 {
     if (master && owner && target)
     {
         name.text     = target.getName();
         distance.text = owner.distanceInMetersStr(target);
         if (owner.isInTargettingRange(target) == false)
         {
             destroy();
         }
     }
     else
     {
         destroy();
     }
 }