private void useItem() { if (heldItem.isHealthPack) { Health playerHealth = GetComponent <Health>(); if (playerHealth.currentHealth == playerHealth.MaxHealth) { return; } else { playerHealth.HealDamage(heldItem.healAmount); } heldItem.finish(); playerBow.SteadyBow(); heldItem = null; } else { GameObject obj = playerBow.getTargetedObject(); Debug.Log(obj.name + " Targeted!"); Health health = obj.GetComponent <Health>(); if (health != null && health.playerCanFix && Vector3.Distance(playerBow.getCameraWorldPoint(), obj.transform.position) <= reach && heldItem.healAmount > 0) { Debug.Log("Healing!!!"); DoorFixer doorFixer = obj.GetComponentInChildren <DoorFixer>(); if (doorFixer != null) { doorFixer.heal(heldItem); } else { health.HealDamage(heldItem.healAmount); } heldItem.finish(); playerBow.SteadyBow(); heldItem = null; } else { hittingEnemiesTimer.Start(hittingEnemiesLength); } playerAnimator.Play("PlayerAttackWithItemBlendTree"); } //Vector3 rayOrigin = heldItem.gameObject.transform.position; //RaycastHit hit; //if (Physics.Raycast(rayOrigin, Vector3.down, out hit, reach, playerBow.aimMask)) //{ // heldItem.gameObject.transform.parent = null; // heldItem.falldown(itemFallingMask); //heldItem = null; //playerBow.SteadyBow(); //} }
void Start() { currentHealth = MaxHealth; // Make sure everything is displayed correctly at the start if (OnHealthChange != null) { OnHealthChange(currentHealth, maxHealth); } doorFixer = this.GetComponent <DoorFixer>(); if (doorFixer != null) { currentHealth = 0; } }