Files
MobileShooter/Assets/Darkmatter/Code/Presentation/Weapons/GunWeapon.cs

55 lines
1.2 KiB
C#

using Darkmatter.Core;
using Darkmatter.Domain;
using UnityEngine;
using VContainer;
namespace Darkmatter.Presentation
{
public class GunWeapon : WeaponBase
{
[Header("VFX")]
public ParticleSystem MuzzleFlashParticle;
public ParticleSystem BulletHitEffectParticle;
[Header("Weapon Data")]
public float fireRate = 1f;
public int ammoCount = 40;
private float lastUsedTime;
public override string WeaponName => "Rifel";
public override bool canAttack => Time.time >= lastUsedTime + fireRate;
[Inject] private IAimProvider aimProvider;
public override void Attack()
{
lastUsedTime = Time.time;
ammoCount--;
PlayMuzzleFlash();
Vector3 startPos = transform.position;
Vector3 direction = aimProvider.AimDir;
Debug.Log("Attack using Gun");
//use ray cast here
//after ray cast use damage logic too
}
public override void Reload()
{
base.Reload();
ammoCount = 40;
}
private void PlayMuzzleFlash()
{
MuzzleFlashParticle.Play(true);
}
}
}