public void Shoot(float weaponRange, Transform origin)
    {
        Vector3 fwd = origin.transform.TransformDirection(Vector3.forward);

        Debug.DrawRay(origin.transform.position, fwd * weaponRange, Color.green, 2);

        RaycastHit hit;

        if (Physics.Raycast(origin.transform.position, fwd, out hit, weaponRange))
        {
            GameObject obj = hit.transform.gameObject;
            Debug.Log(obj.name);
            switch (obj.tag)
            {
            case "Enemy":
                var id = obj.GetComponent <OtherPlayer>().id;
                PlayerEventChannel.SendEvent(PlayerEvent.Hit(id));
                return;
            }

            PlayerEventChannel.SendEvent(PlayerEvent.Shoot());
        }
    }