public PickableController GetClosestPickable(TypePickable typePickable) { PickableController closestPickable = null; var distance = float.MaxValue; foreach (var pickable in pickablesInSight) { if (pickable.GetPickableType() != typePickable) { continue; } if (closestPickable == null) { closestPickable = pickable; distance = Vector3.Distance(closestPickable.transform.position, transform.root.position); } else { var currentPickableDistance = Vector3.Distance(closestPickable.transform.position, pickable.transform.position); if (distance > currentPickableDistance) { distance = currentPickableDistance; closestPickable = pickable; } } } return(closestPickable); }
private void PlaySound(TypePickable weaponType) { switch (weaponType) { case TypePickable.Shotgun: shotgunShootSound.Play(); break; case TypePickable.Uzi: uziShootSounds[CRandom.Next(0, 2)].Play(); break; default: starterWeaponShootSounds[CRandom.Next(0, 3)].Play(); break; } }
public void PublishWeaponShot(TypePickable weaponType) { OnWeaponShot?.Invoke(weaponType); }