コード例 #1
0
ファイル: PlayerInventory.cs プロジェクト: WindowWasher/LD42
    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();
        //}
    }
コード例 #2
0
ファイル: Health.cs プロジェクト: WindowWasher/LD42
    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;
        }
    }