private void Instance_OnGameUpdate(object sender, GameUpdatedEventArgs e) { if (IsActive) { Update(e.Time); } }
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"); }
private void Update(object sender, GameUpdatedEventArgs args) { if (!Focused) { return; } }
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++; } } }
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); } } }
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); } }
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); }
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]); }
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); }
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); } }
public virtual void Update(GameUpdatedEventArgs args) { }
private void OnGameUpdated(GameUpdatedEventArgs args) { GameUpdatedEvent?.Invoke(this, args); }
public void GravityUpdate(GameUpdatedEventArgs args) { gameObject.transform.Translate(0, PhysicsManager.gravity * args.DeltaTime * mass, 0); }