Exemple #1
0
 private void Instance_OnGameUpdate(object sender, GameUpdatedEventArgs e)
 {
     if (IsActive)
     {
         Update(e.Time);
     }
 }
Exemple #2
0
        private void Database_GameUpdated(object sender, GameUpdatedEventArgs args)
        {
            foreach (var update in args.UpdatedGames)
            {
                if (update.OldData.Hidden != update.NewData.Hidden)
                {
                    Hidden = Hidden + (1 * (update.NewData.Hidden ? 1 : -1));
                }

                if (update.OldData.Favorite != update.NewData.Favorite)
                {
                    Favorite = Favorite + (1 * (update.NewData.Favorite ? 1 : -1));
                }

                if (update.OldData.IsInstalled != update.NewData.IsInstalled)
                {
                    Installed   = Installed + (1 * (update.NewData.IsInstalled ? 1 : -1));
                    UnInstalled = UnInstalled + (1 * (!update.NewData.IsInstalled ? 1 : -1));
                }
            }

            OnPropertyChanged("Installed");
            OnPropertyChanged("UnInstalled");
            OnPropertyChanged("Hidden");
            OnPropertyChanged("Favorite");
        }
Exemple #3
0
 private void Update(object sender, GameUpdatedEventArgs args)
 {
     if (!Focused)
     {
         return;
     }
 }
Exemple #4
0
 public override void Update(GameUpdatedEventArgs args)
 {
     if (Input.GetKeyDown(Key.Escape) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.Start))
     {
         MainMenu.gameObject.enabled = !MainMenu.gameObject.enabled;
     }
 }
        private void OnModel_gameUpdated(object sender, GameUpdatedEventArgs e)
        {
            if (e.Table.Count != this.gridSize)
            {
                this.gridSize = e.Table.Count;
                buttonHeigth  = gameField.Height / gridSize;
                buttonWidth   = gameField.Width / gridSize;
                DeleteTable();
                GenerateTable(e.Table);
            }


            int index = 0;

            for (int j = 0; j < e.Table.Count; j++)
            {
                for (int i = 0; i < e.Table.Count; i++)
                {
                    switch (e.Table[j][i])
                    {
                    case Entity.PLAYER1:
                        grid[index].BackColor = p1Color;
                        if (model.FirstsTurn)
                        {
                            grid[index].Enabled = true;
                        }
                        else
                        {
                            grid[index].Enabled = false;
                        }
                        break;

                    case Entity.PLAYER2:
                        grid[index].BackColor = p2Color;
                        if (!model.FirstsTurn)
                        {
                            grid[index].Enabled = true;
                        }
                        else
                        {
                            grid[index].Enabled = false;
                        }
                        break;

                    case Entity.BLACK_HOLE:
                        grid[index].BackColor = blackholeColor;
                        grid[index].Enabled   = false;
                        break;

                    case Entity.NONE:
                        grid[index].BackColor = noneColor;
                        grid[index].Enabled   = false;
                        break;
                    }
                    index++;
                }
            }
        }
Exemple #6
0
        public override void Update(GameUpdatedEventArgs args)
        {
            if (Input.GetKeyDown(Key.V) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadDown))
            {
                Game.Instance.VSync = Game.Instance.VSync == VSyncMode.On ? VSyncMode.Off : VSyncMode.On;
            }

            GameObjectsText.UpdateText("GameObjects: " + Game.GetAllGameObjects().Count);
            FPSText.UpdateText("FPS: " + FrameRate.Get());
            ScenesText.UpdateText("Scenes: " + Game.Instance.SceneManager.scenes.Count);
        }
 public void Update(GameUpdatedEventArgs args)
 {
     if (enabled)
     {
         foreach (var component in componentManager.GetComponents())
         {
             component.Value.Update(args);
         }
         foreach (var child in children.Values)
         {
             child.Update(args);
         }
     }
 }
Exemple #8
0
        public void PhysicsUpdate(GameUpdatedEventArgs args)
        {
            var colliders          = rigidEntities.Where(obj => obj.gameObject.enabled).ToList();
            var nonStaticColliders = colliders.Where(obj => !obj.gameObject.isStatic).ToList();
            var movedColliders     = new List <RigidEntity>();

            foreach (var collider in nonStaticColliders)
            {
                collider.UpdatePosition(out bool boundingBoxUpdated);
                if (boundingBoxUpdated)
                {
                    movedColliders.Add(collider);
                    colliders.Remove(collider);
                    colliders.Insert(colliders.Count, collider);
                }
            }

            foreach (var mesh in movedColliders)
            {
                bool collision = false;
                foreach (var col in colliders)
                {
                    if (col != mesh && col.CheckCollision(mesh, out Vector3 position))
                    {
                        mesh.gameObject.SetColour(Color.Blue);
                        mesh.gameObject.transform.position = position;
                        mesh.UpdatePosition(out bool newPosition);
                        collision = true;
                    }
                }

                if (!collision)
                {
                    if (mesh.gameObject.HasComponent <RaycastTarget>())
                    {
                        var component = mesh.gameObject.GetComponent <RaycastTarget>();
                        if (component.focused)
                        {
                            mesh.gameObject.SetColour(Color.Red);
                        }
                        else
                        {
                            mesh.gameObject.SetColour(Color.White);
                        }
                    }
                }

                mesh.SetLastPosition(mesh.gameObject.transform.position);
            }
        }
Exemple #9
0
        protected override void OnUpdateFrame(FrameEventArgs e)
        {
            var args = new GameUpdatedEventArgs((float)e.Time);

            Input.Update();
            ControllerManager.Update();

            OnGameUpdated(args);

            foreach (var gameObject in GetSceneGameObjects())
            {
                gameObject.Update(args);
            }

            PhysicsManager.PhysicsUpdate(args);
        }
Exemple #10
0
        public void EventsArgsNonBufferedTest()
        {
            GamesCollectionChangedEventArgs     gameColArgs        = null;
            GameUpdatedEventArgs                gameUpdateArgs     = null;
            PlatformsCollectionChangedEventArgs platformColArgs    = null;
            PlatformUpdatedEventArgs            platformUpdateArgs = null;

            db.GamesCollectionChanged     += (e, args) => { gameColArgs = args; };
            db.GameUpdated                += (e, args) => { gameUpdateArgs = args; };
            db.PlatformsCollectionChanged += (e, args) => { platformColArgs = args; };
            db.PlatformUpdated            += (e, args) => { platformUpdateArgs = args; };

            var game = new Game("test game");

            db.AddGame(game);
            Assert.AreEqual(1, gameColArgs.AddedGames.Count);
            Assert.AreEqual(game, gameColArgs.AddedGames[0]);
            Assert.AreEqual(0, gameColArgs.RemovedGames.Count);
            db.UpdateGameInDatabase(game);
            Assert.AreEqual(1, gameUpdateArgs.UpdatedGames.Count);
            Assert.AreEqual(game, gameUpdateArgs.UpdatedGames[0].NewData);
            Assert.AreNotEqual(game, gameUpdateArgs.UpdatedGames[0].OldData);
            db.DeleteGame(game);
            Assert.AreEqual(0, gameColArgs.AddedGames.Count);
            Assert.AreEqual(1, gameColArgs.RemovedGames.Count);
            Assert.AreEqual(game, gameColArgs.RemovedGames[0]);

            var platform = new Platform("test platform");

            db.AddPlatform(platform);
            Assert.AreEqual(1, platformColArgs.AddedPlatforms.Count);
            Assert.AreEqual(platform, platformColArgs.AddedPlatforms[0]);
            var platform2 = new Platform("test platform2");

            db.AddPlatform(new List <Platform> {
                platform2
            });
            Assert.AreEqual(1, platformColArgs.AddedPlatforms.Count);
            Assert.AreEqual(platform2, platformColArgs.AddedPlatforms[0]);
            db.UpdatePlatform(platform);
            Assert.AreEqual(1, platformUpdateArgs.UpdatedPlatforms.Count);
            Assert.AreEqual(platform, platformUpdateArgs.UpdatedPlatforms[0].NewData);
            Assert.AreNotEqual(platform, platformUpdateArgs.UpdatedPlatforms[0].OldData);
            db.RemovePlatform(platform);
            Assert.AreEqual(1, platformColArgs.RemovedPlatforms.Count);
            Assert.AreEqual(platform, platformColArgs.RemovedPlatforms[0]);
        }
Exemple #11
0
        public void EventsArgsBufferedTest()
        {
            GamesCollectionChangedEventArgs     gameColArgs        = null;
            GameUpdatedEventArgs                gameUpdateArgs     = null;
            PlatformsCollectionChangedEventArgs platformColArgs    = null;
            PlatformUpdatedEventArgs            platformUpdateArgs = null;

            db.GamesCollectionChanged     += (e, args) => { gameColArgs = args; };
            db.GameUpdated                += (e, args) => { gameUpdateArgs = args; };
            db.PlatformsCollectionChanged += (e, args) => { platformColArgs = args; };
            db.PlatformUpdated            += (e, args) => { platformUpdateArgs = args; };

            using (db.BufferedUpdate())
            {
                var game = new Game("test game");
                db.AddGame(game);
                db.UpdateGameInDatabase(game);
                db.UpdateGameInDatabase(game);
                db.DeleteGame(game);
                Assert.IsNull(gameColArgs);
                Assert.IsNull(gameUpdateArgs);

                var platform  = new Platform("test platform");
                var platform2 = new Platform("test platform2");
                db.AddPlatform(platform);
                db.AddPlatform(new List <Platform> {
                    platform2
                });
                db.UpdatePlatform(platform);
                db.UpdatePlatform(platform2);
                db.UpdatePlatform(platform2);
                db.RemovePlatform(platform);
                Assert.IsNull(platformColArgs);
                Assert.IsNull(platformUpdateArgs);
            }

            Assert.AreEqual(1, gameColArgs.AddedGames.Count);
            Assert.AreEqual(1, gameColArgs.RemovedGames.Count);
            Assert.AreEqual(2, gameUpdateArgs.UpdatedGames.Count);

            Assert.AreEqual(2, platformColArgs.AddedPlatforms.Count);
            Assert.AreEqual(1, platformColArgs.RemovedPlatforms.Count);
            Assert.AreEqual(3, platformUpdateArgs.UpdatedPlatforms.Count);
        }
Exemple #12
0
        private void Update(object sender, GameUpdatedEventArgs args)
        {
            if (!Focused)
            {
                return;
            }
            DebugScreenTexts();

            if (Input.GetKeyDown(Key.Escape) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.Back))
            {
                Exit();
            }
            if (Input.GetKeyDown(Key.F) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadDown))
            {
                FrameRate.Enable(!FrameRate.IsEnabled());
            }
            if (Input.GetKeyDown(Key.Z) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadUp))
            {
                WireFrame.Enable(!WireFrame.IsEnabled());
            }
            if (Input.GetKeyDown(Key.Q) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadLeft))
            {
                ProfilerScreen.enabled = !ProfilerScreen.enabled;
                text1.enabled          = !text1.enabled;
                text2.enabled          = !text2.enabled;
            }
            if (Input.GetKeyDown(Key.G) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.Start))
            {
                Gaming = !Gaming;
            }
            if (Input.GetKeyDown(Key.V) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadRight))
            {
                if (VSync == VSyncMode.Off)
                {
                    VSync = VSyncMode.On;
                }
                else
                {
                    VSync = VSyncMode.Off;
                }
            }
            if (Input.GetKeyDown(Key.L) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.LeftShoulder))
            {
                Input.LockCursor(!Input.GetLockCursor());
                Input.ShowCursor(!Input.GetCursorVisibility());
                CameraFollowMouse = !CameraFollowMouse;
                if (Input.GetLockCursor())
                {
                    Input.SetMousePositionScreenCenter(0, 0);
                }
            }

            if (!Gaming)
            {
                const float cameraSpeed = 20.0f;

                if (Input.GetKey(Key.Space))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
                }
                if (Input.GetKey(Key.ShiftLeft))
                {
                    MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
                }
                if (ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButton(Buttons.A))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
                }
                if (ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButton(Buttons.B))
                {
                    MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
                }

                if (Input.GetKey(Key.A))
                {
                    MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime;
                }
                if (Input.GetKey(Key.D))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime;
                }
                if (ControllerManager.ControllerExists(0))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime * ControllerManager.GetController(0).GetAxis(Controller.Axis.HorizontalLeft);
                }

                if (Input.GetKey(Key.W))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime;
                }
                if (Input.GetKey(Key.S))
                {
                    MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime;
                }
                if (ControllerManager.ControllerExists(0))
                {
                    MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime * ControllerManager.GetController(0).GetAxis(Controller.Axis.VerticalLeft);
                }

                if (CameraFollowMouse)
                {
                    Vector2 delta       = Input.GetMouseDelta();
                    var     sensitivity = Camera.Sensitivity;
                    if (ControllerManager.ControllerExists(0))
                    {
                        var newDelta = ControllerManager.GetController(0).GetAxis(3, 4);
                        if (Math.Abs(newDelta.X) + Math.Abs(newDelta.Y) > 0)
                        {
                            delta       = newDelta;
                            sensitivity = 100 * args.DeltaTime;
                        }
                    }

                    if (Input.GetLockCursor())
                    {
                        Input.SetMousePositionScreenCenter(0, 0);
                    }

                    MainCamera.gameObject.transform.Rotate(-delta.Y * sensitivity, -delta.X * sensitivity, 0);
                    MainCamera.gameObject.transform.rotation = new Vector3(Math.Clamp(MainCamera.gameObject.transform.rotation.X, -89f, 89f), MainCamera.gameObject.transform.rotation.Y, MainCamera.gameObject.transform.rotation.Z);
                }
            }
            else
            {
                const float movementSpeed = 10.0f;
                var         movement      = Vector3.Zero;

                if (ControllerManager.ControllerExists(0))
                {
                    movement.Z = ControllerManager.GetController(0).GetAxis(Controller.Axis.VerticalLeft);
                }
                if (Input.GetKey(Key.W))
                {
                    movement.Z += 1;
                }
                if (Input.GetKey(Key.S))
                {
                    movement.Z -= 1;
                }

                if (ControllerManager.ControllerExists(0))
                {
                    movement.X = -ControllerManager.GetController(0).GetAxis(Controller.Axis.HorizontalLeft);
                }
                if (Input.GetKey(Key.A))
                {
                    movement.X += 1;
                }
                if (Input.GetKey(Key.D))
                {
                    movement.X -= 1;
                }

                if (CameraFollowMouse)
                {
                    Vector2 delta = Input.GetMouseDelta();

                    if (ControllerManager.ControllerExists(0))
                    {
                        var newDelta = ControllerManager.GetController(0).GetAxis(2, 3);
                        if (Math.Abs(newDelta.X) > 0)
                        {
                            delta = newDelta;
                        }
                    }

                    if (Input.GetLockCursor())
                    {
                        Input.SetMousePositionScreenCenter(0, 0);
                    }

                    // if (delta.X < 0) MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Right * 10 * args.DeltaTime;
                    // if (delta.X > 0) MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Right * 10 * args.DeltaTime;
                    // MainCamera.gameObject.transform.LookAt(player.transform.position);
                }
                else
                {
                    if (movement.Z != 0 || movement.X != 0)
                    {
                        var camForward = MainCamera.gameObject.transform.Front;
                        camForward.Y = 0;
                        camForward.Normalize();
                        var camRight = MainCamera.gameObject.transform.Right;
                        camRight.Y = 0;
                        camRight.Normalize();

                        if (!Targeting)
                        {
                            var direction = player.transform.position + (camForward * -movement.Z + camRight * movement.X).Normalized();
                            player.transform.RotateTowardsTarget(direction, args.DeltaTime * 5, 270);
                        }
                        else
                        {
                            player.transform.RotateTowardsTarget(target.transform.position, 1, 90);
                        }


                        var movementVector = new Vector3(((camForward * -movement.Z + camRight * movement.X) * movementSpeed * args.DeltaTime).X, 0, ((camForward * -movement.Z + camRight * movement.X) * movementSpeed * args.DeltaTime).Z);

                        player.transform.position -= movementVector;
                    }

                    var pos = player.transform.position;
                    MainCamera.gameObject.transform.rotation = new Vector3(-15f, -180, MainCamera.gameObject.transform.rotation.Z);
                    MainCamera.gameObject.transform.position = new Vector3(pos.X, pos.Y + 6, pos.Z - 7);
                }
            }
        }
        private void Update(object sender, GameUpdatedEventArgs args)
        {
            if (!Focused)
            {
                return;
            }
            DebugScreenTexts();
            if (lockToMouseObject != null)
            {
                if (Input.GetMouseButtonDown(MouseButton.Right))
                {
                    var component = lockToMouseObject.GetComponent <RaycastTarget>();
                    component.focused = false;
                    component.onLoseFocus();
                    lockToMouseObject = null;
                    return;
                }

                if (!Input.GetKey(Key.R))
                {
                    var mult = 5.25f;
                    if (Input.GetKey(Key.Up))
                    {
                        lockToMouseObject.transform.position += lockToMouseObject.transform.Up * args.DeltaTime * mult;
                    }
                    if (Input.GetKey(Key.Down))
                    {
                        lockToMouseObject.transform.position -= lockToMouseObject.transform.Up * args.DeltaTime * mult;
                    }
                    if (Input.GetKey(Key.Left))
                    {
                        lockToMouseObject.transform.position -= lockToMouseObject.transform.Right * args.DeltaTime * mult;
                    }
                    if (Input.GetKey(Key.Right))
                    {
                        lockToMouseObject.transform.position += lockToMouseObject.transform.Right * args.DeltaTime * mult;
                    }
                    if (Input.GetKey(Key.ControlRight))
                    {
                        lockToMouseObject.transform.position -= lockToMouseObject.transform.Front * args.DeltaTime * mult;
                    }
                    if (Input.GetKey(Key.ShiftRight))
                    {
                        lockToMouseObject.transform.position += lockToMouseObject.transform.Front * args.DeltaTime * mult;
                    }
                }
                else
                {
                    var mult = 20;
                    if (Input.GetKey(Key.Up))
                    {
                        lockToMouseObject.transform.Rotate(lockToMouseObject.transform.Up * args.DeltaTime * mult);
                    }
                    if (Input.GetKey(Key.Down))
                    {
                        lockToMouseObject.transform.Rotate(-lockToMouseObject.transform.Up * args.DeltaTime * mult);
                    }
                    if (Input.GetKey(Key.Left))
                    {
                        lockToMouseObject.transform.Rotate(-lockToMouseObject.transform.Right * args.DeltaTime * mult);
                    }
                    if (Input.GetKey(Key.Right))
                    {
                        lockToMouseObject.transform.Rotate(lockToMouseObject.transform.Right * args.DeltaTime * mult);
                    }
                    if (Input.GetKey(Key.ControlRight))
                    {
                        lockToMouseObject.transform.Rotate(-lockToMouseObject.transform.Front * args.DeltaTime * mult);
                    }
                    if (Input.GetKey(Key.ShiftRight))
                    {
                        lockToMouseObject.transform.Rotate(lockToMouseObject.transform.Front * args.DeltaTime * mult);
                    }
                }
            }


            if (Input.GetKeyDown(Key.Escape) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.Back))
            {
                Exit();
            }
            if (Input.GetKeyDown(Key.F) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadDown))
            {
                FrameRate.Enable(!FrameRate.IsEnabled());
            }
            if (Input.GetKeyDown(Key.Z) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadUp))
            {
                WireFrame.Enable(!WireFrame.IsEnabled());
            }
            if (Input.GetKeyDown(Key.Q) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadLeft))
            {
                ProfilerScreen.enabled = !ProfilerScreen.enabled;
                text1.enabled          = !text1.enabled;
                text2.enabled          = !text2.enabled;
            }
            if (Input.GetKeyDown(Key.V) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.DPadRight))
            {
                if (VSync == VSyncMode.Off)
                {
                    VSync = VSyncMode.On;
                }
                else
                {
                    VSync = VSyncMode.Off;
                }
            }
            if (Input.GetKeyDown(Key.L) || ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButtonDown(Buttons.LeftShoulder))
            {
                Input.LockCursor(!Input.GetLockCursor());
                Input.ShowCursor(!Input.GetCursorVisibility());
                CameraFollowMouse = !CameraFollowMouse;
                if (Input.GetLockCursor())
                {
                    Input.SetMousePositionScreenCenter(0, 0);
                }
            }

            const float cameraSpeed = 5;

            if (Input.GetKey(Key.Space))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
            }
            if (Input.GetKey(Key.ShiftLeft))
            {
                MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
            }
            if (ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButton(Buttons.A))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
            }
            if (ControllerManager.ControllerExists(0) && ControllerManager.GetController(0).GetButton(Buttons.B))
            {
                MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Up * cameraSpeed * args.DeltaTime;
            }

            if (Input.GetKey(Key.A))
            {
                MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime;
            }
            if (Input.GetKey(Key.D))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime;
            }
            if (ControllerManager.ControllerExists(0))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Right * cameraSpeed * args.DeltaTime * ControllerManager.GetController(0).GetAxis(Controller.Axis.HorizontalLeft);
            }

            if (Input.GetKey(Key.W))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime;
            }
            if (Input.GetKey(Key.S))
            {
                MainCamera.gameObject.transform.position -= MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime;
            }
            if (ControllerManager.ControllerExists(0))
            {
                MainCamera.gameObject.transform.position += MainCamera.gameObject.transform.Front * cameraSpeed * args.DeltaTime * ControllerManager.GetController(0).GetAxis(Controller.Axis.VerticalLeft);
            }

            if (CameraFollowMouse)
            {
                Vector2 delta       = Input.GetMouseDelta();
                var     sensitivity = Camera.Sensitivity;
                if (ControllerManager.ControllerExists(0))
                {
                    var newDelta = ControllerManager.GetController(0).GetAxis(3, 4);
                    if (Math.Abs(newDelta.X) + Math.Abs(newDelta.Y) > 0)
                    {
                        delta       = newDelta;
                        sensitivity = 100 * args.DeltaTime;
                    }
                }

                if (Input.GetLockCursor())
                {
                    Input.SetMousePositionScreenCenter(0, 0);
                }

                MainCamera.gameObject.transform.Rotate(-delta.Y * sensitivity, -delta.X * sensitivity, 0);
                MainCamera.gameObject.transform.rotation = new Vector3(Math.Clamp(MainCamera.gameObject.transform.rotation.X, -89f, 89f), MainCamera.gameObject.transform.rotation.Y, MainCamera.gameObject.transform.rotation.Z);
            }
        }
Exemple #14
0
 public virtual void Update(GameUpdatedEventArgs args)
 {
 }
Exemple #15
0
 private void OnGameUpdated(GameUpdatedEventArgs args)
 {
     GameUpdatedEvent?.Invoke(this, args);
 }
Exemple #16
0
 public void GravityUpdate(GameUpdatedEventArgs args)
 {
     gameObject.transform.Translate(0, PhysicsManager.gravity * args.DeltaTime * mass, 0);
 }