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; } } }
public void Recover(HpView view) { if (viewPool != null && view != null) { viewPool.Push(view.PoolRecover()); } }
private void OnDestroy() { hpManager.Recover(hpView); hpView = null; }