예제 #1
0
 /// <summary>
 /// 改变生命值
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public float ChangeLife(float value)
 {
     if (_childItem != null)
     {
         _childItem.DOKill();
         _childItem.MyImage.color    = MyImage.color;
         _childItem.MyRect.sizeDelta = MyRect.sizeDelta;
         _childItem.MyImage.DOFade(0, 0.5f).OnComplete(() => { _childItem.ChangeLife(value); });
     }
     MyRect.sizeDelta += Vector2.right * value;
     return(GetOutOfRange());
 }
예제 #2
0
        /// <summary>
        /// 改变生命值,
        /// </summary>
        /// <param name="value"></param>
        public void ChangeLife(float value)
        {
            float width = _curBar.ChangeLife(value * _unitLifeScale);

            curLifeValue += value;
            if (width < 0 && ChangeIndex(1))
            {
                ExChangeBar();
                _curBar.transform.SetAsLastSibling();
                _nextBar.ResetToWidth();
                SetBarData(_currentIndex, _barDatas);
                ChangeLife(width / _unitLifeScale);
            }
            else if (width > 0 && ChangeIndex(-1))
            {
                ExChangeBar();
                _curBar.transform.SetAsLastSibling();
                _curBar.ResetToZero();
                SetBarData(_currentIndex, _barDatas);
                ChangeLife(width / _unitLifeScale);
            }
        }