Пример #1
0
    private void Fire()
    {
        if (PlayerInputHandler.GetFireInput() && CanFire && PlayerStats.IsMagazineNotEmpty() && !IsReloading)
        {
            HitInfo = new RaycastHit();

            if (Physics.Raycast(Camera.transform.position, Camera.transform.forward, out HitInfo))
            {
                ShootParticle.Play();
                SoundManager.FireSound();
                PlayerStats.MinusAmmo();

                Debug.Log(HitInfo.transform.name);

                if (HitInfo.transform.name == "Enemy(Clone)")
                {
                    GameObject Target = HitInfo.transform.gameObject;
                    EnemyPlayerCharacterController EnemyController = Target.GetComponent <EnemyPlayerCharacterController>();
                    EnemyPlayerInfo EnemyInfo = EnemyController.EnemyInfo;

                    Debug.Log("Попаданиe по игроку: " + EnemyInfo.ClientId + " c ником " + EnemyInfo.Nickname);
                    ShootPacket ShootPacket = new ShootPacket(EnemyInfo.ClientId);
                    NetworkManager.SendPacket(ShootPacket);
                }
                else
                {
                    ShootPacket ShootPacket = new ShootPacket(0);
                    NetworkManager.SendPacket(ShootPacket);
                }

                CanFire = false;
                StartCoroutine(LockFire(0.1f));
            }
        }
        else if (PlayerInputHandler.GetReloadInput() && PlayerStats.IsMagazineNotFull() && !IsReloading)
        {
            IsReloading = true;
            SoundManager.ReloadSound();
            CanFire = false;
            StartCoroutine(LockFireForReloading(2f));
        }
    }