private void RequestControl() { if (!MyFakes.ENABLE_REMOTE_CONTROL) { return; } //Do not take control if you are already the controller if (MySession.ControlledEntity == this) { return; } //Double check because it can be called from toolbar if (!CanControl()) { return; } if (MyGuiScreenTerminal.IsOpen) { MyGuiScreenTerminal.Hide(); } //Temporary fix to prevent crashes on DS //This happens when remote control is triggered by a sensor or a timer block //We need to prevent this from happening at all if (MySession.ControlledEntity != null) { SyncObject.RequestUse(UseActionEnum.Manipulate, MySession.ControlledEntity); } }