public void DoDetonation()
 {
     wantDetonation = false;
     if (!IsPowered)
     {
         PlayNeedPowerEffect();
         return;
     }
     RemoteTechUtility.ReportPowerUse(this, 20f);
     SoundDefOf.FlickSwitch.PlayOneShot(this);
     RemoteTechUtility.TriggerReceiversInNetworkRange(this, channels?.Channel ?? RemoteTechUtility.DefaultChannel);
 }
 public void TriggerSensor(Pawn pawn)
 {
     lastTriggeredTick = GenTicks.TicksGame;
     trackedPawns.Add(pawn);
     if (settings.SendMessage)
     {
         NotifyPlayer(pawn);
     }
     if (settings.SendWired && wiredComp != null)
     {
         wiredComp.SendNewSignal();
     }
     if (settings.SendWireless && wirelessComp != null && wirelessComp.Enabled && channelsComp != null)
     {
         RemoteTechUtility.TriggerReceiversInNetworkRange(this, channelsComp.Channel);
     }
 }
        private void OnGizmoActivation()
        {
            if (lastActivationTick + ActivationCooldownTicks >= Find.TickManager.TicksGame)
            {
                return;
            }
            lastActivationTick = Find.TickManager.TicksGame;
            SoundDefOf.FlickSwitch.PlayOneShot(Wearer);

            RemoteTechUtility.TriggerReceiversInNetworkRange(this, channelsComp?.Channel ?? RemoteTechUtility.DefaultChannel);

            NumUsesLeft--;
            if (NumUsesLeft <= 0)
            {
                Destroy(DestroyMode.KillFinalize);
                Messages.Message("PortableDetonator_broke_msg".Translate(), new TargetInfo(Wearer), MessageTypeDefOf.NeutralEvent);
            }
        }