Ejemplo n.º 1
0
        public void Initialize(WeaponHolder weaponHolder, WeaponScriptable weapon)
        {
            WeaponHolder = weaponHolder;
            Crosshair    = weaponHolder.Controller.CrosshairComponent;

            WeaponStats = weapon.WeaponStats;
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
0
        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();
            }
        }
Ejemplo n.º 5
0
        public void Initialize(WeaponHolder weaponHolder, WeaponScriptable weaponScriptable)
        {
            WeaponHolder       = weaponHolder;
            CrosshairComponent = weaponHolder.Crosshair;

            if (weaponScriptable)
            {
                WeaponStats = weaponScriptable.WeaponStats;
            }
        }
Ejemplo n.º 6
0
        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();
            }
        }
Ejemplo n.º 7
0
 public void Initialize(WeaponHolder weaponHolder, CrossHairScript crossHair)
 {
     WeaponHolder       = weaponHolder;
     CrosshairComponent = crossHair;
 }
Ejemplo n.º 8
0
 public void Initialize(WeaponHolder weaponHolder, CrosshairScript crossHair)
 {
     // set weapon holder ref and crosshair ref
     WeaponHolder       = weaponHolder;
     CrosshairComponent = crossHair;
 }