PBG2H23ABR_PBG2H23AKL_PMC_P.../Plunderblock/Assets/Scripts/ScriptsKevin/WeaponScript.cs

72 lines
1.8 KiB
C#
Raw Normal View History

2024-06-14 16:58:09 +02:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WeaponScript : MonoBehaviour
{
public ParticleSystem muzzle;
2024-06-14 19:08:04 +02:00
public GameObject spawnpoint;
2024-06-14 16:58:09 +02:00
public GameObject bullet;
2024-07-01 16:37:19 +02:00
public DataBullet dataBullet;
private int ammo;
private bool isReloading = false;
private float time = 0;
public float reloadTime;
2024-07-05 11:07:17 +02:00
private bool delayOver = true;
public float schussInterval;
private float delay = 0;
public void checkReload(){
2024-07-01 16:37:19 +02:00
if(ammo == 0){
isReloading = true;
}
if(isReloading){
time += Time.deltaTime;
if(time > reloadTime){
ammo = dataBullet.ammo;
time = 0;
isReloading = false;
}
}
}
public void shoot(){
if(ammo != 0){
2024-07-05 11:07:17 +02:00
if(delayOver){
if(Input.GetKeyDown(KeyCode.Mouse0)){
muzzle.gameObject.SetActive(true);
//muzzle.Play();
Instantiate(bullet,spawnpoint.transform.position,spawnpoint.transform.rotation);
ammo--;
delay = 0;
delayOver = false;
}
}
}
}
public void checkDelay(){
if(!delayOver){
delay += Time.deltaTime;
if(delay > schussInterval){
delayOver = true;
}
2024-06-14 16:58:09 +02:00
}
}
void Start()
{
2024-07-01 16:37:19 +02:00
ammo = dataBullet.ammo;
muzzle = GetComponentInChildren<ParticleSystem>();
spawnpoint = GameObject.Find("Player/PlayerView/BulletSpawnpoint");
2024-06-14 16:58:09 +02:00
}
// Update is called once per frame
void Update()
{
2024-07-05 11:07:17 +02:00
checkDelay();
2024-06-14 16:58:09 +02:00
shoot();
2024-07-05 11:07:17 +02:00
checkReload();
2024-06-14 16:58:09 +02:00
}
}