private static bool Prefix(CommsRadioCarDeleter __instance, TrainCar ___carToDelete)
        {
            if (NetworkManager.IsClient())
            {
                FieldInfo state = __instance.GetType().GetField("state", BindingFlags.Instance | BindingFlags.NonPublic);

                if ((int)state.GetValue(__instance) == 1 && SingletonBehaviour <NetworkPlayerManager> .Instance && SingletonBehaviour <NetworkPlayerManager> .Instance.GetPlayersInTrain(___carToDelete).Length > 0)
                {
                    return(false);
                }
            }
            return(true);
        }
        public void Awake()
        {
            // steal components from other radio modes
            CommsRadioCarDeleter deleter = Controller.deleteControl;

            if (deleter != null)
            {
                signalOrigin      = deleter.signalOrigin;
                display           = deleter.display;
                selectionMaterial = new Material(deleter.selectionMaterial);
                skinningMaterial  = new Material(deleter.deleteMaterial);
                trainHighlighter  = deleter.trainHighlighter;

                // sounds
                HoverCarSound    = deleter.hoverOverCar;
                SelectedCarSound = deleter.warningSound;
                ConfirmSound     = deleter.confirmSound;
                CancelSound      = deleter.cancelSound;
            }
            else
            {
                Debug.LogError("CommsRadioSkinSwitcher: couldn't get properties from siblings");
            }
        }