Ejemplo n.º 1
0
        //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);
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
 public virtual void Update(GameTime gameTime)
 {
     plane.Update(gameTime);
 }