示例#1
0
        protected override bool CheckPickUpConditions(HealthManagerBase healthManager)
        {
            if (healthManager.IsDead)
            {
                return(false);
            }
            if (healthManager.PercentValue >= 1f)
            {
                return(false);
            }

            return(base.CheckPickUpConditions(healthManager));
        }
        protected virtual bool TryPickUp(GameObject target)
        {
            HealthManagerBase hm = target.GetComponent <HealthManagerBase>();

            if (hm != null)
            {
                if (CheckPickUpConditions(hm))
                {
                    PickUp(hm);
                    return(true);
                }
            }

            return(false);
        }
 protected override void DoOnPickedUp(HealthManagerBase healthManager)
 {
     var go = GameObject.Instantiate(ShieldPrefab, healthManager.transform);
     go.transform.localPosition = Vector3.zero;
     go.transform.localRotation = Quaternion.identity;
 }
 protected virtual bool CheckPickUpConditions(HealthManagerBase healthManager)
 {
     return(!IsPickedUp);
 }
 public void PickUp(HealthManagerBase healthManager)
 {
     DoOnPickedUp(healthManager);
     OnPickedUp(healthManager);
     IsPickedUp = true;
 }
 protected abstract void DoOnPickedUp(HealthManagerBase healthManager);
示例#7
0
 protected override void DoOnPickedUp(HealthManagerBase healthManager)
 {
     healthManager.AddHealth(HealthValue);
 }