// Update is called once per frame
    void Update()
    {
        InventoryFirst invfi    = Inv.GetComponent <InventoryFirst>();
        int            New_Ammo = invfi.Ammo;

        if (Input.GetButtonDown("Fire1") && New_Ammo > 0)
        {
            print(New_Ammo);
            if (shotsFired < 4)
            {
                if (Time.timeSinceLevelLoad - lastShot > shotTimeout)
                {
                    Fire();
                    shotsFired++;
                    invfi.Ammo -= 1;
                }
            }
            else
            {
                if (Time.timeSinceLevelLoad - lastShot > reloadTime)
                {
                    Fire();
                    shotsFired  = 1;
                    invfi.Ammo -= 1;
                }
            }
        }
    }
Esempio n. 2
0
    void Shoot()
    {
        InventoryFirst invfi = Inv.GetComponent <InventoryFirst>();

        if (invfi.Hydrogen > 0)
        {
            if (Time.timeSinceLevelLoad - lastUse >= timePerOne)
            {
                lastUse         = Time.timeSinceLevelLoad;
                invfi.Hydrogen -= 1;
            }

            RaycastHit hit;
            laser.GetComponent <MeshRenderer>().enabled = true;
            if (Physics.Raycast(tracker.transform.position, tracker.transform.forward, out hit, range))
            {
                if (hit.transform.tag == "enemy")
                {
                    hit.transform.GetComponent <EnemyHealth>().Damage(damage);
                }
            }
        }
        else
        {
            laser.GetComponent <MeshRenderer>().enabled = false;
        }
    }