public void Initialize(WeaponHolder weaponHolder, WeaponScriptable weapon) { WeaponHolder = weaponHolder; Crosshair = weaponHolder.Controller.CrosshairComponent; WeaponStats = weapon.WeaponStats; }
protected override void FireWeapon() { Debug.Log($"{WeaponStats.BulletsInClip} || {WeaponStats.BulletsAvailable}"); if (WeaponStats.BulletsInClip > 0 && !Reloading && !WeaponHolder.Controller.IsRunning) { base.FireWeapon(); Ray screenRay = MainCamera.ScreenPointToRay(new Vector3(CrosshairComponent.CurrentAimPosition.x, CrosshairComponent.CurrentAimPosition.y, 0)); if (!Physics.Raycast(screenRay, out RaycastHit hit, WeaponStats.FireDistance, WeaponStats.WeaponHitLayers)) { return; } HitLocation = hit.point; Vector3 hitDirection = hit.point - MainCamera.transform.position; Debug.DrawRay(MainCamera.transform.position, hitDirection.normalized * WeaponStats.FireDistance, Color.red); } else if (WeaponStats.BulletsInClip <= 0) { if (!WeaponHolder) { return; } WeaponHolder.StartReloading(); } }
protected override void FireWeapon() { Ray screenRay = ViewCamera.ScreenPointToRay(new Vector3(Crosshair.CurrentMousePosition.x, Crosshair.CurrentMousePosition.y, 0)); if (WeaponStats.BulletsInClip > 0 && !Reloading && !WeaponHolder.Controller.isJumping) { base.FireWeapon(); if (!Physics.Raycast(screenRay, out RaycastHit hit, WeaponStats.FireDistance, WeaponStats.WeaponHitLayer)) { return; } Vector3 RayDirection = HitLocation.point - ViewCamera.transform.position; Debug.DrawRay(ViewCamera.transform.position, RayDirection * WeaponStats.FireDistance, Color.red); HitLocation = hit; DamageTarget(hit); } else if (WeaponStats.BulletsInClip <= 0) { WeaponHolder.StartReloading(); } }
protected new void FireWeapon() { //Debug.Log("Firing Weapon"); if (WeaponStats.BulletsInClip > 0 && !Reloading && !WeaponHolder.Controller.IsRunning) { base.FireWeapon(); Ray screenRay = ViewCamera.ScreenPointToRay(new Vector3(Crosshair.CurrentMousePosition.x, Crosshair.CurrentMousePosition.y, 0)); if (!Physics.Raycast(screenRay, out RaycastHit hit, WeaponStats.FireDistance, WeaponStats.WeaponHitLayer)) { return; } HitLocation = hit.point; Vector3 hitDirection = hit.point - ViewCamera.transform.position; Debug.DrawRay(ViewCamera.transform.position, hitDirection.normalized * WeaponStats.FireDistance, Color.red); } else if (WeaponStats.BulletsInClip <= 0 && WeaponStats.BulletsAvailable > 0) { if (!WeaponHolder) { return; } WeaponHolder.StartReloading(); } }
public void Initialize(WeaponHolder weaponHolder, WeaponScriptable weaponScriptable) { WeaponHolder = weaponHolder; CrosshairComponent = weaponHolder.Crosshair; if (weaponScriptable) { WeaponStats = weaponScriptable.WeaponStats; } }
protected override void FireWeapon() { //Debug.Log("Firing"); if (WeaponStats.BulletsInClip > 0 && !WeaponHolder.PlayerController.IsReloading && !WeaponHolder.PlayerController.IsRunning) { base.FireWeapon(); Ray screenRay = MainCamera.ScreenPointToRay(new Vector3(Crosshair.CurrentMousePosition.x, Crosshair.CurrentMousePosition.y, 0)); if (!Physics.Raycast(screenRay, out RaycastHit hit, WeaponStats.FireDistance, WeaponStats.WeaponHitLayer)) { return; } Entity hitEntity = hit.transform.GetComponent <Entity>(); if (hitEntity != null) { CombatManager.Attack(this.GetComponentInParent <Entity>(), hitEntity, this); } HitLocation = hit.point; Vector3 hitDirection = hit.point - MainCamera.transform.position; //Debug.DrawRay(MainCamera.transform.position, hitDirection * WeaponStats.FireDistance, Color.red); Debug.DrawLine(MainCamera.transform.position, HitLocation, Color.red, WeaponStats.FireRate); } else if (WeaponStats.BulletsInClip <= 0) { if (!WeaponHolder) { return; } WeaponHolder.StartReloading(); } }
public void Initialize(WeaponHolder weaponHolder, CrossHairScript crossHair) { WeaponHolder = weaponHolder; CrosshairComponent = crossHair; }
public void Initialize(WeaponHolder weaponHolder, CrosshairScript crossHair) { // set weapon holder ref and crosshair ref WeaponHolder = weaponHolder; CrosshairComponent = crossHair; }