public void PlaySound(WeaponAudio sound)
    {
        switch (sound)
        {
        case WeaponAudio.Fire:
            fireSource.Play();
            break;

        case WeaponAudio.Reload:
            reloadSource.Play();
            break;

        case WeaponAudio.Melee:
            meleeSource.Play();
            break;

        case WeaponAudio.Ready:
            readySource.Play();
            break;

        case WeaponAudio.Bolt:
            boltSource.Play();
            break;

        case WeaponAudio.Pump:
            pumpSource.Play();
            break;
        }
    }
示例#2
0
 protected void PlaySound(WeaponAudio sound)
 {
     if (audioManager)
     {
         audioManager.PlaySound(sound);
     }
 }
示例#3
0
 private void ChargeEffect()
 {
     OnFirstShot();
     m_chargeEffect.gameObject.SetActive(true);
     m_chargeEffect.Play(true);
     WeaponAudio.clip = Weapon.ChargeAudio;
     WeaponAudio.Play();
 }
示例#4
0
    void Start()
    {
        initialPosition = transform.localPosition; //position based on the parent not the world
        initialRotation = transform.localRotation.eulerAngles;

        weaponAnimations = GetComponent <WeaponAnimations>();
        weaponAudio      = GetComponent <WeaponAudio>();
        weaponManager    = GetComponent <WeaponManager>();
        weaponADS        = GetComponent <WeaponAimDownSights>();
    }
示例#5
0
 // Use this for initialization
 void Start()
 {
     roundManager = GameObject.Find("GameManager1").GetComponent <RoundManager>();
     weaponAudio  = gameObject.GetComponentInParent <WeaponAudio>();
     hitParticle  = GetComponent <ParticleSystem>();
     hitPartMain  = hitParticle.main;
     if (weaponAudio == null)
     {
         weaponAudio = transform.root.GetComponent <WeaponAudio>();
     }
 }
示例#6
0
 private void Awake()
 {
     _weaponAudio = GetComponent <WeaponAudio>();
     _weaponStats = GetComponent <WeaponStats>();
     if (_weaponStats == null)
     {
         Debug.LogError("No Weapon Stats!");
     }
     _animator = GetComponent <Animator>();
     if (_animator == null)
     {
         Debug.LogError("No Animator!");
     }
     assignSecondaryFunction();
     _weaponRecoil = GetComponent <WeaponRecoil>();
 }
示例#7
0
    override protected void RealOnEnable()
    {
        weaponAudio   = GetComponent <WeaponAudio>();
        resourceLevel = weaponData.resource.resourceCap;
        prevPosition  = nextPosition = transform.position;
        prevVelocity  = nextVelocity = Vector3.zero;


        if (weaponData.shot.rate < 0.01f)
        {
            weaponData.shot.rate = 0.01f;
        }
        //TODO find way to remove this, either in serialization or checking is subweapons is allocated
        if (weaponData.projectile.subweapons == null)
        {
            weaponData.projectile.subweapons = new List <Data.SubweaponData>();
        }
    }
示例#8
0
        protected override void ShootEffectRpc(Vector3 dir)
        {
            m_chargeEffect.gameObject.SetActive(false);
            WeaponAudio.Stop();

            var startPoint = MuzzleFlash.transform.position;
            var endPoint   = MuzzleFlash.transform.position + dir * m_fireDistance;

            Recoil();
            PlayMuzzleFlash();
            PlayAudio();
            m_lineRender.SetPosition(0, startPoint);
            m_lineRender.SetPosition(1, endPoint);

            m_hitEffect.transform.position = endPoint;
            m_hitEffect.Play(true);

            m_lineAnimation.Play();
        }