private void ThrowWeapon()
 {
     //inicialmente só vou fazer dropar a arma
     WeaponObject.transform.position = transform.position + (Vector3)ThrowOffset;
     ToggleWeaponActive(WeaponObject, true);
     WeaponObject.GetComponent <Projectile>().MoveProjectile(transform.right * 5);
     EquippedWeapon = WeaponPickup.WeaponType.FISTS;
     WeaponObject   = null;
 }
    private void PickupWeapon()
    {
        print("watch start");
        var watch = System.Diagnostics.Stopwatch.StartNew();

        int currWeapon = 0;

        float closestDist = Vector2.Distance(this.transform.position, WeaponList[0].transform.position);
        float currentDist;

        for (int i = 1; i < WeaponList.Count; i++)
        {
            currentDist = Vector2.Distance(this.transform.position, WeaponList[i].transform.position);
            if (currentDist < closestDist)
            {
                closestDist = currentDist;
                currWeapon  = i;
            }
        }

        if (EquippedWeapon != WeaponPickup.WeaponType.FISTS)
        {
            WeaponObject.transform.position = this.transform.position + new Vector3(0, 0.25f, 0);
            ToggleWeaponActive(WeaponObject, true);
            WeaponObject.GetComponent <Projectile>().MoveProjectileAtAngle();
        }
        EquippedWeapon = WeaponList[currWeapon].GetComponent <WeaponPickup>().weaponType;
        WeaponObject   = WeaponList[currWeapon];
        WeaponList.Remove(WeaponObject);
        ToggleWeaponActive(WeaponObject, false);

        watch.Stop();
        var elapsedMs = watch.ElapsedMilliseconds;

        print("time elapsed " + elapsedMs);
    }