Files
VR_Game/Assets/Scripts/BluePlayerController.cs
Lucastaa 19f50bc486 change
2026-05-12 10:08:40 +07:00

68 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.InputSystem;
public class BluePlayerController : MonoBehaviour
{
public GameObject shield;
public GameObject bulletPrefab;
public Transform firePoint;
public float shootCooldown = 0.5f;
private float cooldownTimer;
private bool isDead = false;
public AudioSource audioSource;
public AudioClip audioClip;
void Update()
{
if (Keyboard.current == null)
return;
if (isDead)
return;
cooldownTimer -= Time.deltaTime;
HandleShield();
HandleShoot();
}
void HandleShield()
{
// Giữ F => bỏ khiên
bool holdingF =
Keyboard.current.fKey.isPressed;
shield.SetActive(!holdingF);
}
void HandleShoot()
{
// Chỉ bắn khi đang bỏ khiên
if (!shield.activeSelf &&
Keyboard.current.gKey.wasPressedThisFrame &&
cooldownTimer <= 0f)
{
AudioSource.PlayClipAtPoint(audioClip, firePoint.position);
Instantiate(
bulletPrefab,
firePoint.position,
firePoint.rotation
);
cooldownTimer = shootCooldown;
}
}
public void Die()
{
isDead = true;
GameManager.Instance.ShowWinner("RED WIN!");
}
}