public void DoSwitch()
 {
     if (isArmed != desiredArmState)
     {
         if (!isArmed)
         {
             Arm();
         }
         else
         {
             Disarm();
         }
     }
     if (desiredChannel != currentChannel)
     {
         currentChannel = desiredChannel;
         Resources.Sound.RemoteChannelChange.PlayOneShot(this);
     }
     RemoteExplosivesUtility.UpdateSwitchDesignation(this);
 }
        public override void SpawnSetup(Map map, bool respawningAfterLoad)
        {
            base.SpawnSetup(map, respawningAfterLoad);

            Resources.Graphics.FlareOverlayStrong.drawSize = Resources.Graphics.FlareOverlayNormal.drawSize = def.graphicData.drawSize;

            RemoteExplosivesUtility.UpdateSwitchDesignation(this);
            explosiveComp = GetComp <CompCustomExplosive>();
            replaceComp   = GetComp <CompAutoReplaceable>();
            if (replaceComp != null)
            {
                replaceComp.DisableGizmoAutoDisplay();
            }

            if (justCreated)
            {
                if (CustomProps.startsArmed)
                {
                    Arm();
                }
                justCreated = false;
            }
        }
 private void ArmGizmoAction()
 {
     desiredArmState = !desiredArmState;
     RemoteExplosivesUtility.UpdateSwitchDesignation(this);
 }
 private void ChannelGizmoAction()
 {
     desiredChannel = RemoteExplosivesUtility.GetNextChannel(desiredChannel);
     RemoteExplosivesUtility.UpdateSwitchDesignation(this);
 }