예제 #1
0
        private void OnTriggerEnter()
        {
            PlayerControl player = FindObjectOfType <PlayerControl>();

            WeaponSystem weapon = player.GetComponent <WeaponSystem>();

            weapon.PutWeaponInHand(weaponConfig);
            var audioSource = GetComponent <AudioSource>();

            audioSource.PlayOneShot(pickUpSFX);
            GetComponent <CapsuleCollider>().enabled = false;
            //Destroy(gameObject);
        }
예제 #2
0
        private void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.tag == "Player" && hasPlayed == false)
            {
                hasPlayed = true;
                WeaponSystem weaponSystem = other.gameObject.GetComponent <WeaponSystem>();

                weaponSystem.PutWeaponInHand(weaponConfig);
                var audioSource = weaponSystem.GetComponent <AudioSource>();
                audioSource.clip = weapongPickUpSoundEffect;
                audioSource.Play();
                Destroy(this.gameObject);
            }
        }
 /* IMPORTANT: CameraRaycaster hits both WeaponPickupPoint, as well as its parented weapon prefab model.
  * Data collected here is from the prefab, so need to use GetComponentInParent to get WeaponConfig needed by PutWeaponInHand method*/
 void OnMouseOverPickable(GameObject pickable) // reads LMB from CameraRaycaster if pickable layer hit
 {
     if (Input.GetMouseButtonUp(0))            // TODO no pickup range - implement
     {
         transform.LookAt(pickable.gameObject.transform);
         WeaponConfig weaponToPick = pickable.GetComponentInParent <WeaponPickupPoint>().GetWeaponConfig(); // TODO split logic for different pickable types
         weaponSystem.PutWeaponInHand(weaponToPick);
         Destroy(pickable.gameObject);                                                                      // TODO implement dropping used weapons
     }
     else if (Input.GetMouseButtonDown(1))                                                                  // TODO relies on weapon range - change this
     {
         transform.LookAt(pickable.gameObject.transform);
     }
 }
예제 #4
0
 void OnTriggerEnter(Collider other)
 {
     weaponSystem.PutWeaponInHand(weaponConfig);
     audioSource.PlayOneShot(pickupSoundEffect);
 }