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"); } }