//public override void Initialize() { } public override void Update(GameTime gameTime) { Battlefield.Update(gameTime); godTierInnerSpiro.Update(gameTime); godTierInnerFill.Update(gameTime); godTierOuterSpiro.Update(gameTime); godTierOuterFill.Update(gameTime); lowerSpirograph.Update(gameTime); plane.Update(gameTime); }
public override void Update(GameTime gameTime) { currentSession.UpdateTimeline(); cursor.Update(gameTime); ScreenManager.Globals.Camera.HandleInput(); Vector2 tempCameraPos = new Vector2(ScreenManager.Globals.Camera.LookAtPosition.X, ScreenManager.Globals.Camera.LookAtPosition.Z); if (tempCameraPos.LengthSquared() > cameraRange * cameraRange) { tempCameraPos.Normalize(); tempCameraPos *= cameraRange; ScreenManager.Globals.Camera.AddModifier(new MoveToModifier3D(new Vector3(tempCameraPos.X, ScreenManager.Globals.Camera.LookAtPosition.Y, tempCameraPos.Y), ScreenManager.Globals.Camera, true, 1)); } if (!focused && cursorTarget != null && InputManager.IsMouseButtonTriggered(MouseButtons.LMB)) { focused = true; ScreenManager.Globals.Camera.InputIndependent = true; ScreenManager.Globals.Camera.AddModifier(new MoveToModifier3D(cursorTarget.WorldPlane, ScreenManager.Globals.Camera, false, 30)); ScreenManager.Globals.Camera.AddModifier(new ScaleToModifier3D(new Vector3(20, -1, -1), ScreenManager.Globals.Camera, false, 30)); Vector3 rotationVector = ScreenManager.Globals.Camera.CameraPosition - ScreenManager.Globals.Camera.LookAtPosition; Vector3 rightNormal = Vector3.Cross(rotationVector, Vector3.Down); rightNormal.Normalize(); ScreenManager.Globals.Camera.AddModifier(new RotateToModifier3D(Quaternion.CreateFromAxisAngle(rightNormal, MathHelper.Pi / 3f), ScreenManager.Globals.Camera, true, 30)); if (descriptionOpen) { descriptionText.Text = cursorTarget.Description; } } if (focused) { if (ScreenManager.Globals.Camera.Modifiers[0].GetType() == typeof(MoveToModifier3D) && !ScreenManager.Globals.Camera.Modifiers[0].Active) { ScreenManager.Globals.Camera.ClearModifiers(); ScreenManager.Globals.Camera.AddModifier(new FollowModifier3D(cursorTarget.WorldPlane, false, false, -1)); if (descriptionOpen) { ScreenManager.Globals.Camera.AddModifier(new MoveToModifier3D(new Vector3(-1, ScreenManager.Globals.Camera.LookAtPosition.Y - 2.25f, -1), ScreenManager.Globals.Camera, false, 20)); } //ScreenManager.Globals.Camera.AddModifier(new RotateModifier3D(Quaternion.CreateFromAxisAngle(Vector3.Up, 0.005f), false, -1)); } if (InputManager.IsMouseButtonTriggered(MouseButtons.RMB)) { focused = false; ScreenManager.Globals.Camera.InputIndependent = false; ScreenManager.Globals.Camera.ClearModifiers(); if (descriptionOpen) { descriptionText.Text = currentSession.Description; } } } if (lastMessage != currentSession.LatestMessage) { lastMessage = currentSession.LatestMessage; timeToMessageDecay = 120; } descriptionControl.Update(gameTime); descriptionBox.Update(gameTime); descriptionText.Update(); foreach (var keyValue in currentSession.Worlds) { keyValue.Value.Update(gameTime); } foreach (GenericMeteor meteor in genericMeteors) { meteor.Update(gameTime); } ScreenManager.Globals.Camera.Update(); ScreenManager.Globals.DefaultEffect.View = Matrix.CreateLookAt(ScreenManager.Globals.Camera.CameraPosition, ScreenManager.Globals.Camera.LookAtPosition, Vector3.Up); if (ShowingScratchText) { scratchedTextTimer++; if (scratchedTextTimer == 90) { scratchedTextTimer -= 90; } } //timelineControl.Update(); if (focused /*|| timelineControl.IsSelected*/ || descriptionBox.IsHovered || ShowingScratchText) { ScreenManager.IsMouseVisible = true; } else { ScreenManager.IsMouseVisible = false; } }
public virtual void Update(GameTime gameTime) { plane.Update(gameTime); }