private void UpdateRespawnShipLabel() { if (m_selectedRespawnShip == null) { m_multilineRespawnWhenShipReady.Visible = false; } else { MyRespawnComponent.GetRespawnCooldownSeconds(MySession.LocalHumanPlayer.Id, m_selectedRespawnShip.Id.SubtypeName); m_multilineRespawnWhenShipReady.Text.Clear().AppendFormat(MyTexts.GetString(MySpaceTexts.ScreenMedicals_RespawnWhenShipReady), m_selectedRespawnShip.DisplayNameText); m_multilineRespawnWhenShipReady.RefreshText(false); m_multilineRespawnWhenShipReady.Visible = true; } }
private static void AddShipRespawnInfo(MyRespawnShipDefinition respawnShip, StringBuilder text) { int respawnSeconds = MySession.LocalHumanPlayer == null ? 0 : MyRespawnComponent.GetRespawnCooldownSeconds(MySession.LocalHumanPlayer.Id, respawnShip.Id.SubtypeName); if (!MyRespawnComponent.IsSynced) { text.Append(MyTexts.Get(MySpaceTexts.ScreenMedicals_RespawnShipNotReady)); } else if (respawnSeconds != 0) { MyValueFormatter.AppendTimeExact(respawnSeconds, text); } else { text.Append(MyTexts.Get(MySpaceTexts.ScreenMedicals_RespawnShipReady)); } }
public override bool Update(bool hasFocus) { if (m_respawnsTable.RowsCount == 0 && State != MyGuiScreenState.CLOSING && MySession.LocalHumanPlayer != null) { MyPlayerCollection.RespawnRequest(joinGame: true, newPlayer: true, medicalId: 0, shipPrefabId: null); CloseScreen(); } UpdateSpawnShipTimes(); bool retval = base.Update(hasFocus); if (m_selectedRespawnShip != null) { int cooldown = MyRespawnComponent.GetRespawnCooldownSeconds(MySession.LocalHumanPlayer.Id, m_selectedRespawnShip.Id.SubtypeName); if (MyRespawnComponent.IsSynced && cooldown == 0) { RespawnShipImmediately(m_selectedRespawnShip.Id.SubtypeName); } } return(retval); }
private void RespawnShip(string shipPrefabId) { int cooldown = (shipPrefabId == null || MySession.LocalHumanPlayer == null) ? 0 : MyRespawnComponent.GetRespawnCooldownSeconds(MySession.LocalHumanPlayer.Id, shipPrefabId); if (shipPrefabId == null || MyRespawnComponent.IsSynced && cooldown == 0) { RespawnShipImmediately(shipPrefabId); } else { var respawnShip = MyDefinitionManager.Static.GetRespawnShipDefinition(shipPrefabId); m_selectedRespawnShip = respawnShip; UpdateRespawnShipLabel(); } }