コード例 #1
0
 private void Awake()
 {
     crosshairManager = GetComponentInChildren <CrosshairManager>();
     changeWeapon     = GetComponent <ChangeWeapon>();
     bulletManager    = bullet.GetComponent <BulletManager>();
     weaponSetting    = changeWeapon.guns[changeWeapon.arrayIndex].GetComponent <WeaponSetting>();
 }
コード例 #2
0
    private void Shoot()
    {
        bShooting            = true;
        weaponSetting        = GetComponentInChildren <WeaponSetting>();
        bulletSpeed          = weaponSetting.bulletSpeed;
        bulletManager.damage = weaponSetting.maxDamage;

        Vector3    vecToPlayer  = (player.transform.position + Vector3.up * 1.5f) - bulletPoint.position;
        Quaternion lookAtPlayer = Quaternion.LookRotation(vecToPlayer);

        bulletPoint.rotation = lookAtPlayer;
        shootLine.enabled    = true;
        shootLine.SetPosition(0, bulletPoint.position);
        RaycastHit hit;

        if (Physics.Raycast(bulletPoint.position, bulletPoint.forward, out hit, range, environmentLayer))
        {
            shootLine.SetPosition(1, hit.point);
        }
        else
        {
            shootLine.SetPosition(1, bulletPoint.position + bulletPoint.forward * range);
        }


        Rigidbody bullet = Instantiate(bulletInstance, bulletPoint.position, bulletPoint.rotation) as Rigidbody;

        bullet.velocity = bulletSpeed * bulletPoint.forward;
        AudioSource.PlayClipAtPoint(shootAudio, bulletPoint.position);
    }
コード例 #3
0
 private void SetWeapon(int index)
 {
     arrayIndex = index;
     DisableAllWeapons();
     guns[index].SetActive(true);
     currentWeaponUI   = guns[index].GetComponent <Image>().sprite;
     gunImageUI.sprite = currentWeaponUI;
     weaponSetting     = guns[index].GetComponent <WeaponSetting>();
     bulletNumUI.text  = weaponSetting.bulletNum.ToString();
 }
コード例 #4
0
    private void Update()
    {
        timer        += Time.deltaTime;
        weaponSetting = changeWeapon.guns[changeWeapon.arrayIndex].GetComponent <WeaponSetting>();
        if (Input.GetButton("Fire1") && timer >= shootInterval && weaponSetting.bulletNum > 0)
        {
            Shoot();
        }

        if (Input.GetButton("Fire1") && timer >= shootInterval && weaponSetting.bulletNum <= 0)
        {
            timer = 0f;
            AudioSource.PlayClipAtPoint(outOfAmmoAudio, bulletPoint.position);
        }
    }
コード例 #5
0
    private void Shoot()
    {
        timer                = 0f;
        bShooting            = true;
        weaponSetting        = GetComponentInChildren <WeaponSetting>();
        bulletSpeed          = weaponSetting.bulletSpeed;
        bulletManager.damage = weaponSetting.maxDamage;

        Vector3    vecToPlayer  = (player.transform.position + Vector3.up * 1.5f) - muzzle.position;
        Quaternion lookAtPlayer = Quaternion.LookRotation(vecToPlayer);

        muzzle.rotation   = lookAtPlayer;
        shootLine.enabled = true;
        shootLine.SetPosition(0, muzzle.position);
        shootLine.SetPosition(1, muzzle.position + muzzle.forward * range);

        Rigidbody bullet = Instantiate(bulletInstance, muzzle.position, muzzle.rotation) as Rigidbody;

        bullet.velocity = bulletSpeed * muzzle.forward;
        AudioSource.PlayClipAtPoint(shootAudio, muzzle.position);
    }
コード例 #6
0
    private void Shoot()
    {
        timer                = 0f;
        bShooting            = true;
        weaponSetting        = GetComponentInChildren <WeaponSetting>();
        bulletSpeed          = weaponSetting.bulletSpeed;
        bulletManager.damage = weaponSetting.maxDamage;

        muzzle.LookAt(crosshairManager.raycastPoint);

        //LineRenderer bulletLine = Instantiate(bulletLineInstance, muzzle.position, muzzle.rotation) as LineRenderer;
        //bulletLine.SetPosition(0, muzzle.position);
        //bulletLine.SetPosition(1, muzzle.position + muzzle.forward * range);
        //shootLine.enabled = true;
        //shootLine.SetPosition(0, muzzle.position);
        //shootLine.SetPosition(1, muzzle.position + muzzle.forward * range);

        Rigidbody bullet = Instantiate(bulletInstance, muzzle.position, muzzle.rotation) as Rigidbody;

        bullet.velocity = bulletSpeed * muzzle.forward;
        AudioSource.PlayClipAtPoint(shootAudio, muzzle.position);
    }