void VRage.Game.ModAPI.Interfaces.IMyControllableEntity.DrawHud(IMyCameraController camera, long playerId) { if (camera != null) { DrawHud(camera, playerId); } }
public override void UpdateBeforeSimulation() { if (IsCutsceneRunning) { if (MySession.Static.CameraController != m_cameraEntity) { m_originalCameraController = MySession.Static.CameraController; MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, m_cameraEntity); } if (m_currentCutscene.SequenceNodes != null && m_currentCutscene.SequenceNodes.Length > m_currentNodeIndex) { m_currentNode = m_currentCutscene.SequenceNodes[m_currentNodeIndex]; CutsceneUpdate(); } else { //cutscene done if (m_currentCutscene.NextCutscene != null && m_currentCutscene.NextCutscene.Length > 0) PlayCutscene(m_currentCutscene.NextCutscene); else CutsceneEnd(); } m_cameraEntity.WorldMatrix = m_currentCameraMatrix; /* * DEBUG curve if (false && m_waypoints.Count > 2) { int i = 0; for (float timeRatio = 0f; timeRatio <= 1f; timeRatio += 0.01f) { float segmentTime = 1f / (m_waypoints.Count - 1); int segment = (int)Math.Floor(timeRatio / segmentTime); float segmentRatio = (timeRatio - segment * segmentTime) / segmentTime; Vector3D pos = Vector3D.Zero; if (segment == 0) { pos = MathHelper.CalculateBezierPoint(segmentRatio, m_waypoints[segment], m_waypoints[segment], m_waypoints[segment + 1] - (m_waypoints[segment + 2] - m_waypoints[segment]) / 4, m_waypoints[segment + 1]); } else if (segment >= m_waypoints.Count - 2) { pos = MathHelper.CalculateBezierPoint(segmentRatio, m_waypoints[segment], m_waypoints[segment] + (m_waypoints[segment + 1] - m_waypoints[segment - 1]) / 4, m_waypoints[segment + 1], m_waypoints[segment + 1]); } else { pos = MathHelper.CalculateBezierPoint(segmentRatio, m_waypoints[segment], m_waypoints[segment] + (m_waypoints[segment + 1] - m_waypoints[segment - 1]) / 4, m_waypoints[segment+1] - (m_waypoints[segment + 2] - m_waypoints[segment]) / 4, m_waypoints[segment + 1]); } //VRageRender.MyRenderProxy.DebugDrawSphere((Vector3)pos, 0.2f, Color.Aquamarine, 1f, true); VRageRender.MyRenderProxy.DebugDrawText3D(pos, i.ToString(), Color.GreenYellow, 1, true); i++; } foreach(var w in m_waypoints) VRageRender.MyRenderProxy.DebugDrawSphere(w, 1.5f, Color.Orange, 1f, true); }*/ } }
public void DrawHud(IMyCameraController camera, long playerId) { MyHud.Crosshair.Recenter(); if (m_currentWeapon != null) { m_currentWeapon.DrawHud(camera, playerId); } }
public void OnAssumeControl(IMyCameraController previousCameraController) { //if (Parent is MyCockpit) //{ // var cockpit = Parent as MyCockpit; // if (cockpit.Pilot == this) // { // MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, cockpit); // } // return; //} }
public void OnReleaseControl(IMyCameraController newCameraController) { //IsInFirstPersonView = false; //AB: Why this? }
void Static_CameraAttachedToChanged(IMyCameraController oldController, IMyCameraController newController) { if (MySession.ControlledEntity == this && newController != MyThirdPersonSpectator.Static && newController != this) { EndShootAll(); } UpdateCameraAfterChange(); }
public void OnAssumeControl(IMyCameraController previousCameraController) { }
void IMyCameraController.OnReleaseControl(IMyCameraController newCameraController) { OnReleaseControl(newCameraController); }
// ------------------------------------------------------------------------------------------------ public void OnReleaseControl(IMyCameraController newCameraController) { TurnLightOff(); }
public void OnAssumeControl(IMyCameraController previousCameraController) { UpdateCameraAfterChange(); }
public bool PlayCutscene(string cutsceneName) { MySandboxGame.Log.WriteLineAndConsole("Cutscene start: " + cutsceneName); if (m_cutsceneLibrary.ContainsKey(cutsceneName)) { if (IsCutsceneRunning) CutsceneEnd(false); else m_origHud = MyHud.MinimalHud; m_currentCutscene = m_cutsceneLibrary[cutsceneName]; m_currentNode = null; m_currentNodeIndex = 0; m_currentTime = 0; m_nodeActivated = false; m_lookTarget = null; m_attachedPositionTo = null; m_attachedRotationTo = null; m_rotateTarget = null; m_moveTarget = null; m_currentFOV = MathHelper.Clamp(m_currentCutscene.StartingFOV, MINIMUM_FOV, MAXIMUM_FOV); MyGuiScreenGamePlay.DisableInput = true; if (MyCubeBuilder.Static.IsActivated) MyCubeBuilder.Static.Deactivate(); MyHud.MinimalHud = true; MatrixD startMatrix = MatrixD.Identity; MyEntity entity = m_currentCutscene.StartEntity.Length > 0 ? MyVisualScriptLogicProvider.GetEntityByName(m_currentCutscene.StartEntity) : null; if (entity != null) startMatrix = entity.WorldMatrix; if (m_currentCutscene.StartLookAt.Length > 0 && !m_currentCutscene.StartLookAt.Equals(m_currentCutscene.StartEntity)) { entity = MyVisualScriptLogicProvider.GetEntityByName(m_currentCutscene.StartLookAt); if (entity != null) startMatrix = MatrixD.CreateLookAtInverse(startMatrix.Translation, entity.PositionComp.GetPosition(), startMatrix.Up); } m_nodeStartMatrix = startMatrix; m_currentCameraMatrix = startMatrix; m_originalCameraController = MySession.Static.CameraController; m_cameraEntity.WorldMatrix = startMatrix; MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, m_cameraEntity); return true; } else { Debug.Fail("There is no cutscene named \"" + cutsceneName + "\"."); return false; } }
void IMyCameraController.OnAssumeControl(IMyCameraController previousCameraController) { OnAssumeControl(previousCameraController); }
// ------------------------------------------------------------------------------------------------ void IMyCameraController.OnReleaseControl(IMyCameraController newCameraController) { OnReleaseControl(newCameraController); }
// ------------------------------------------------------------------------------------------------ void IMyCameraController.OnAssumeControl(IMyCameraController previousCameraController) { OnAssumeControl(previousCameraController); }
// ------------------------------------------------------------------------------------------------ public void OnAssumeControl(IMyCameraController previousCameraController) { }
public void DrawHud(IMyCameraController camera, long playerId) { }
public void DrawHud(IMyCameraController camera, long playerId) { MyHud.Crosshair.Position = MyHudCrosshair.ScreenCenter; }
void VRage.Game.ModAPI.Interfaces.IMyControllableEntity.DrawHud(IMyCameraController entity, long player) { if(entity is IMyCameraController) DrawHud(entity as IMyCameraController, player); }
void IMyCameraController.OnReleaseControl(IMyCameraController newCameraController) { OnReleaseControl(newCameraController); if (Pilot != null && Pilot.InScene) Pilot.EnableHead(true); }
public void OnAssumeControl(IMyCameraController previousCameraController) { if (Parent is MyCockpit) { var cockpit = Parent as MyCockpit; if (cockpit.Pilot == this) { MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, cockpit); } return; } }
public void OnReleaseControl(IMyCameraController newCameraController) { UpdateNearFlag(); if (m_enableFirstPerson) { UpdateCockpitModel(); UpdateCockpitGlass(); } }
public void ResetCamera() { ResetCurrentCamera(); //Can be null when closing the game bool switched = false; if (PreviousNonCameraBlockController != null) { MyEntity entity = PreviousNonCameraBlockController as MyEntity; if (entity != null && !entity.Closed) { MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, entity); PreviousNonCameraBlockController = null; switched = true; } } if (!switched && MySession.Static.LocalCharacter != null) { MySession.Static.SetCameraController(MyCameraControllerEnum.Entity, MySession.Static.LocalCharacter); } DisableCameraEffects(); }
public void OnReleaseControl(IMyCameraController newCameraController) { }
public void CameraAttachedToChanged(IMyCameraController oldController, IMyCameraController newController) { if (oldController == this) { MyHudCameraOverlay.Enabled = false; MyRenderProxy.UpdateRenderObjectVisibility(Render.RenderObjectIDs[0], true, false); } else if (newController == this) { SetOverlay(); MyRenderProxy.UpdateRenderObjectVisibility(Render.RenderObjectIDs[0], false, false); } }
internal void DrawHud(IMyCameraController camera, long playerId) { if (m_currentGuns != null) { foreach (var gun in m_currentGuns) { gun.DrawHud(camera, playerId); } } }
void IMyCameraController.OnAssumeControl(IMyCameraController previousCameraController) { if (!(previousCameraController is MyCameraBlock)) MyGridCameraSystem.PreviousNonCameraBlockController = previousCameraController; OnAssumeControl(previousCameraController); }
public void DrawHud(IMyCameraController camera, long playerId) { MyGunStatusEnum status; CanShoot(MyShootActionEnum.PrimaryAction, playerId, out status); if (status == MyGunStatusEnum.OK || status == MyGunStatusEnum.Cooldown) { var matrix = m_gunBase.GetMuzzleWorldMatrix(); var from = matrix.Translation; var to = from + 50 * matrix.Forward; Vector3D target = Vector3D.Zero; if (MyHudCrosshair.GetTarget(from, to, ref target)) { float distance = (float)Vector3D.Distance(MySector.MainCamera.Position, target); MyTransparentGeometry.AddBillboardOriented( "RedDot", Vector4.One, target, MySector.MainCamera.LeftVector, MySector.MainCamera.UpVector, distance / 300.0f); } } }
public void DrawHud(IMyCameraController camera, long playerId) { if (GridSelectionSystem != null) GridSelectionSystem.DrawHud(camera, playerId); var to = PositionComp.GetPosition() + 1000 * PositionComp.WorldMatrix.Forward; Vector2 target = Vector2.Zero; if (MyHudCrosshair.GetProjectedVector(to, ref target)) { MyHud.Crosshair.Position = target; } }
public void DrawHud(IMyCameraController camera, long playerId) { if (GridSelectionSystem != null) GridSelectionSystem.DrawHud(camera, playerId); var to = PositionComp.GetPosition() + 1000 * PositionComp.WorldMatrix.Forward; Vector2 target = Vector2.Zero; if (MyHudCrosshair.GetProjectedVector(to, ref target)) { if (BuildingMode) target.Y += 0.17f * MyGuiManager.GetHudSize().Y; MyHud.Crosshair.ChangePosition(target); } if (raycaster != null && raycaster.HitBlock != null) { MyHud.BlockInfo.Visible = true; MyHud.BlockInfo.MissingComponentIndex = -1; MyHud.BlockInfo.BlockName = raycaster.HitBlock.BlockDefinition.DisplayNameText; MyHud.BlockInfo.BlockIcons = raycaster.HitBlock.BlockDefinition.Icons; MyHud.BlockInfo.BlockIntegrity = raycaster.HitBlock.Integrity / raycaster.HitBlock.MaxIntegrity; MyHud.BlockInfo.CriticalIntegrity = raycaster.HitBlock.BlockDefinition.CriticalIntegrityRatio; MyHud.BlockInfo.CriticalComponentIndex = raycaster.HitBlock.BlockDefinition.CriticalGroup; MyHud.BlockInfo.OwnershipIntegrity = raycaster.HitBlock.BlockDefinition.OwnershipIntegrityRatio; MySlimBlock.SetBlockComponents(MyHud.BlockInfo, raycaster.HitBlock); } }
void Static_CameraAttachedToChanged(IMyCameraController oldController, IMyCameraController newController) { if (oldController != newController && MySession.Static.ControlledEntity == this && newController != this) { ResetMovement(); EndShootAll(); } UpdateNearFlag(); if (!Render.NearFlag && MySector.MainCamera != null) // During unload, camera is null? //MySector.MainCamera.Zoom.ResetZoom(); { if (m_zoomMode == MyZoomModeEnum.IronSight) EnableIronsight(false, true, false); } else { if (oldController != newController) { ResetHeadRotation(); } } }
public void CameraAttachedToChanged(IMyCameraController oldController, IMyCameraController newController) { if (oldController == this) { MyRenderProxy.UpdateRenderObjectVisibility(Render.RenderObjectIDs[0], true, false); } }
public void OnReleaseControl(IMyCameraController newCameraController) { IsInFirstPersonView = false; }
public void OnReleaseControl(IMyCameraController newCameraController) { UpdateNearFlag(); if (m_enableFirstPerson) { UpdateCockpitModel(); UpdateCockpitGlass(); if (Pilot != null) Pilot.EnableHead(!Render.NearFlag); } }
void IMyCameraController.OnReleaseControl(IMyCameraController newCameraController) { OnReleaseControl(newCameraController); if (InScene) EnableHead(true); }