32 lines
760 B
C#
32 lines
760 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Weapon : MonoBehaviour
|
|
{
|
|
[SerializeField] private Transform firePoint;
|
|
[SerializeField] private GameObject bulletPrefab;
|
|
public WeaponMagazine Magazine;
|
|
|
|
public void Fire()
|
|
{
|
|
if (Magazine == null || Magazine.CurrentAmmo <= 0) return;
|
|
|
|
Magazine.CurrentAmmo -= 1;
|
|
|
|
var inst = Instantiate(bulletPrefab, firePoint.position, Quaternion.identity);
|
|
var rig = inst.AddComponent<Rigidbody>();
|
|
rig.AddForce(firePoint.forward * 500f);
|
|
}
|
|
|
|
public void UnloadMagazine()
|
|
{
|
|
Magazine = null;
|
|
}
|
|
|
|
public void LoadMagazine(WeaponMagazine magazine)
|
|
{
|
|
Magazine = magazine;
|
|
}
|
|
}
|