示例#1
0
    override protected void Update()
    {
        if (player == null)
        {
            return;
        }

        base.Update();
        Vector3 pos = hpManager.mainCam.WorldToViewportPoint(transform.position);

        if (InCamera(pos))
        {
            if (hpView == null)
            {
                hpView = hpManager.GetView();
            }

            hpView.transform.position = hpManager.mainCam.WorldToScreenPoint(transform.position + Vector3.up * 2.5f);
            hpView.SetSlider((player.Hp / player.MaxHealth).ToFloat());
        }
        else
        {
            if (hpView != null)
            {
                hpManager.Recover(hpView);
                hpView = null;
            }
        }
    }
示例#2
0
 public void Recover(HpView view)
 {
     if (viewPool != null && view != null)
     {
         viewPool.Push(view.PoolRecover());
     }
 }
示例#3
0
 private void OnDestroy()
 {
     hpManager.Recover(hpView);
     hpView = null;
 }