public void TakeNearWeapon()
    {
        int amount = hitbox.OverlapCollider(no_filter, colliders_tmp);

        for (int i = 0; i < amount; i++)
        {
            GameObject     gameobject = colliders_tmp[i].gameObject;
            weapon_handler weapon_hdl = gameobject.GetComponent <weapon_handler>();

            if (weapon_hdl != null)
            {
                AutoGrabWeapon(gameobject);
            }
        }
    }
예제 #2
0
    public void PickupWeapon(GameObject weapon)
    {
        if (HasWeapon())
        {
            DropWeapon();
        }

        weapon_gameobject = weapon;
        weapon_hdl        = weapon.GetComponent <weapon_handler>();

        weapon_hdl.SetOwner(owner);

        // pick

        weapon.transform.parent        = gameObject.transform;
        weapon.transform.localPosition = new Vector3(0f, 0f, 0f);

        // end pick

        weapon_hdl.Hide();
    }
    public bool CanGrabWeapon(GameObject weapon)
    {
        weapon_handler weapon_hdl = weapon.GetComponent <weapon_handler>();

        return(Vector2.Distance(weapon_hdl.Position(), Position()) < interaction_distance);
    }