Exemplo n.º 1
0
    void Shoot()
    {
        GameObject  laser       = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation);
        LaserObject laserObject = laser.GetComponent <LaserObject>();

        laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor);
    }
Exemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        // shoot input buffer
        if (Input.GetButtonDown("Fire1"))
        {
            shootInput      = true;
            shootInputTimer = 0.0f;
        }
        else
        {
            shootInputTimer += Time.deltaTime;
            if (shootInputTimer > shootInputBuffer)
            {
                shootInput = false;
            }
        }

        // shoot and set shooting to true if input and not currently shooting
        if (shootInput && isShooting == false)
        {
            Shoot();
            isShooting = true;
        }

        // wait a delay before you can shoot again
        if (isShooting)
        {
            shotTimer += Time.deltaTime;

            if (shotTimer > shotDelay)
            {
                shotTimer  = 0.0f;
                isShooting = false;
            }
        }

        void Shoot()
        {
            GameObject  laser       = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation);
            LaserObject laserObject = laser.GetComponent <LaserObject>();

            laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor);
        }
    }