protected override void PlacePilotInSeat(MyCharacter pilot) { m_pilotLights = pilot.LightEnabled; pilot.EnableLights(false); m_pilotCameraInFP = pilot.IsInFirstPersonView; var jetpack = pilot.JetpackComp; m_pilotJetpack = jetpack.TurnedOn; if (jetpack != null) jetpack.TurnOnJetpack(false); pilot.Sit(true, MySession.Static.LocalCharacter == pilot, false, BlockDefinition.CharacterAnimation); pilot.TriggerCharacterAnimationEvent("entercryochamber", false); pilot.SuitBattery.ResourceSource.Enabled = true; pilot.PositionComp.SetWorldMatrix(m_characterDummy * WorldMatrix, this); UpdateEmissivity(true); }
protected override void RemovePilotFromSeat(MyCharacter pilot) { if (pilot == MySession.Static.LocalCharacter) { MyHudCameraOverlay.Enabled = false; this.Render.Visible = true; } m_currentPlayerId = null; m_attachedPlayerId.Value = null; UpdateEmissivity(false); if (m_pilotLights) pilot.EnableLights(true); if (m_pilotJetpack && pilot.JetpackComp != null) { pilot.JetpackComp.TurnOnJetpack(true); } pilot.IsInFirstPersonView = m_pilotCameraInFP; m_pilotLights = false; m_pilotJetpack = false; m_pilotCameraInFP = true; }
protected override void PlacePilotInSeat(MyCharacter pilot) { pilot.EnableLights(false, false); var jetpack = pilot.JetpackComp; if(jetpack != null) jetpack.TurnOnJetpack(false, false, false, false); pilot.Sit(true, MySession.LocalCharacter == pilot, false, BlockDefinition.CharacterAnimation); pilot.SuitBattery.ResourceSource.Enabled = true; pilot.PositionComp.SetWorldMatrix(m_characterDummy * WorldMatrix); UpdateEmissivity(true); }