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); }