private void mineDetector_OnEntityPositionChange(MyEntityDetector sender, MyEntity entity, Vector3 newposition) { if (sender.Closed) return; if (entity == MySession.PlayerShip) { if (m_beepCue == null || !m_beepCue.Value.IsPlaying) { m_beepCue = MyAudio.AddCue2D(MySoundCuesEnum.SfxHudAlarmDamageA); } float distance = (entity.GetPosition() - sender.GetPosition()).Length(); if (distance < m_mineStartRadius) { uint mineId = 0; for (int i = 0; i < m_mines.GetLength(0); i++) { if (m_mines[i, 1] == sender.Parent.EntityId.Value.NumericValue) { mineId = m_mines[i, 0]; } } ExplodeMine(mineId); sender.Off(); sender.Parent.MarkForClose(); } } }