public override void Refresh()
        {
            Clear();

            if (ObjectToDisplay == null)
            {
                return;
            }

            foreach (var chosenPromotion in UnitPromotionLogic.GetPromotionsForUnit(ObjectToDisplay))
            {
                BuildRecordForChosenPromotion(chosenPromotion);
            }

            if (ObjectToDisplay.Experience >= UnitExperienceLogic.GetExperienceForNextLevelOnUnit(ObjectToDisplay))
            {
                foreach (var availablePromotion in ObjectToDisplay.PromotionTree.GetAvailablePromotions())
                {
                    BuildRecordForAvailablePromotion(availablePromotion);
                }
            }
        }
        public override void Refresh()
        {
            if (ObjectToDisplay == null)
            {
                return;
            }

            int experienceForNextLevel = UnitExperienceLogic.GetExperienceForNextLevelOnUnit(ObjectToDisplay);

            NameField.text                   = ObjectToDisplay.Name;
            TypeField.text                   = ObjectToDisplay.Type.ToString();
            CurrentMovementField.text        = ObjectToDisplay.CurrentMovement.ToString();
            MaxMovementField.text            = ObjectToDisplay.MaxMovement.ToString();
            ExperienceField.text             = ObjectToDisplay.Experience.ToString();
            ExperienceForNextLevelField.text = experienceForNextLevel.ToString();

            HealthSlider.minValue = 0;
            HealthSlider.maxValue = Config.MaxHealth;
            HealthSlider.value    = ObjectToDisplay.CurrentHitpoints;
        }