Example #1
0
        public void UpdateUI(AbilityTypes type, int currentHealth)
        {
            UIHealthBarSegment segment = GetSegmentForTakeDamage(type);

            if (segment != null)
            {
                segment.UpdateUI(currentHealth);
            }
        }
Example #2
0
        public void Init(Transform parent, Dictionary <AbilityTypes, Character.Health.HealthController.HealthSegment> healthData)
        {
            //Follow
            if (m_FollowController == null)
            {
                m_FollowController = GetComponent <FollowTransformController>();
            }

            m_FollowController.Init(parent);

            //Healthbar
            int segments = 0;

            m_Segments = new Dictionary <AbilityTypes, UIHealthBarSegment>();
            foreach (Character.Health.HealthController.HealthSegment segmentData in healthData.Values)
            {
                //Create segment
                UIHealthBarSegment segment = PoolManager.GetObject(GameManager.Instance.PrefabLibrary.UIHealthBarSegmentPrefab) as UIHealthBarSegment;

                //Position segment
                RectTransform segmentRectTransform = segment.GetComponent <RectTransform>();
                segmentRectTransform.SetParent(SegmentParent);
                segmentRectTransform.anchoredPosition = Vector3.zero;
                segmentRectTransform.localPosition    = Vector3.zero;
                segmentRectTransform.localEulerAngles = Vector3.zero;

                //Scale segment
                float scale = m_InitSize - m_StepDelta * segments;
                segmentRectTransform.localScale = new Vector3(scale, scale, scale);

                //Init segment
                segment.Init(segmentData.Type, segmentData.Health);

                //Other
                m_Segments.Add(segmentData.Type, segment);
                segments++;
            }
        }