public void HandleKeyEvent(string keyValue, string keyAction) { switch (keyAction) { case "KEY_PRESS": switch (keyValue) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_P": eventBus.RegisterEvent(GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_RUNNING", "")); break; } break; case "KEY_RELEASE": break; } }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_SPACE": playerShots.AddDynamicEntity( new DynamicShape(player.Entity.Shape.Position + new Vec2F(0.046f, 0.09f), new Vec2F(0.008f, 0.027f), new Vec2F(0.0f, 0.01f)), shotStride); break; case "KEY_RIGHT": player.MoveRight(); break; case "KEY_LEFT": player.MoveLeft(); break; } }
private void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this.player, "MOVE_LEFT", "", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this.player, "MOVE_RIGHT", "", "")); break; case "KEY_SPACE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this.player, "SHOOT", "", "")); break; default: break; } }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_A": KEY_A = true; player.direction(new Vec2F(-0.01f, 0.0f)); break; case "KEY_D": KEY_D = true; player.direction(new Vec2F(0.01f, 0.0f)); break; case "KEY_SPACE": player.shot(); break; } }
private void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_A": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForSpecificProcessor( GameEventType.PlayerEvent, this, player, "move left", "", "")); break; case "KEY_D": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForSpecificProcessor( GameEventType.PlayerEvent, this, player, "move right", "", "")); break; case "KEY_SPACE": player.CreateShot(); break; } }
/// <summary> /// Collision check for Obstacle objects /// </summary> private void ObstacleCollision() { var playerShape = player.Shape.AsDynamicShape(); foreach (Obstacle obstacle in obstacles) { var collisionData = CollisionDetection.Aabb(playerShape, obstacle.Shape); if (collisionData.Collision) { spaceTaxibus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_OVER", "")); } } }
private void RegisterEvent(object sender, KeyboardKeyEventArgs e) { var keyAction = (e.Keyboard.IsKeyDown(e.Key)) ? "KEY_PRESS" : "KEY_RELEASE"; var newEvent = GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.InputEvent, this, Input.KeyTransformer.GetKeyString(e.Key), keyAction, ""); eventBus.RegisterEvent(newEvent); }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_A": if (!EntityOutOfBounds(player.Entity, "EDGE_LEFT")) { player.Entity.Shape.MoveX(-player.defaultSpeed); } break; case "KEY_D": if (!EntityOutOfBounds(player.Entity, "EDGE_RIGHT")) { player.Entity.Shape.MoveX(player.defaultSpeed); } break; /* * case "KEY_W": * if (!EntityOutOfBounds(player.Entity, "EDGE_TOP")) { * player.Entity.Shape.MoveY(0.010f); * } * * break; * * case "KEY_S": * if (!EntityOutOfBounds(player.Entity, "EDGE_BOTTOM")) { * player.Entity.Shape.MoveY(-0.010f); * } * * break; */ case "KEY_SPACE": DynamicShape shape = new DynamicShape(new Vec2F( player.Entity.Shape.Position.X + (player.Entity.Shape.Extent.X / 2.0f), player.Entity.Shape.Position.Y + player.Entity.Shape.Extent.Y), new Vec2F(0.008f, 0.027f), new Vec2F(0.0f, 0.01f)); playerShots.AddDynamicEntity( shape, imageShot); break; } }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "KEY_PRESS", "")); break; case "KEY_SPACE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "SHOOT", "KEY_PRESS", "")); break; case "KEY_UP": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "KEY_UP", "KEY_PRESS", "")); break; case "KEY_DOWN": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "KEY_DOWN", "KEY_PRESS", "")); break; case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "KEY_LEFT", "KEY_PRESS", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "KEY_RIGHT", "KEY_PRESS", "")); break; } // choose a fittingly small number }
public void SendEvent(GameEventBus eventBus, IGameEventProcessor to, int intValue) { this.Value = intValue; var e = new GameEvent { EventType = GameEventType.GraphicsEvent, From = this, To = to, IntArg1 = intValue }; eventBus.RegisterEvent(e); }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": win.CloseWindow(); break; case "KEY_F12": Console.WriteLine("Saving screenshot"); win.SaveScreenShot(); break; case "KEY_UP": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_UPWARDS", "", "")); break; case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_LEFT", "", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_RIGHT", "", "")); break; } }
/// <summary> /// Iterate through its internal list of timed events and for each, /// push the event to the registered EventBus if its time has elapsed. /// </summary> public void ProcessTimedEvents() { for (int i = 0; i < size; i++) { var Tuple = events[i]; var Event = Tuple.timedEvent; if (Tuple.occupied && Event.HasExpired()) // boolean short-circuitry! { Tuple.occupied = false; eventBus.RegisterEvent(GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.TimedEvent, this, Event.message, Event.parameter1, Event.parameter2)); } } }
public void HandleKeyEvent(string keyValue, string keyAction) { switch (keyAction) { case "KEY_PRESS": switch (keyValue) { case "KEY_ESCAPE": Game.Win.CloseWindow(); break; case "KEY_LEFT": if (levelManager.ActiveLevelIndex > 0) { levelManager.ActiveLevelIndex -= 1; } levelTextBox.SetText(levelNames[levelManager.ActiveLevelIndex]); break; case "KEY_RIGHT": if (levelManager.ActiveLevelIndex < levelNames.Length - 1) { levelManager.ActiveLevelIndex += 1; } levelTextBox.SetText(levelNames[levelManager.ActiveLevelIndex]); break; case "KEY_ENTER": levelManager.BuildLevel(levelInfos[levelManager.ActiveLevelIndex]); eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_RUNNING", "")); break; } break; case "KEY_RELEASE": switch (keyValue) { } break; } }
public void GameLoop() { Taxi.Landed = false; obstacles.Iterate(CollisionChecker); platforms.Iterate(CollisionChecker); if (portal.CollidWith()) { _eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "NEXT_LEVEL", "", "")); } if (!Taxi.Landed) { Taxi.Location = ""; Taxi.Movement = new TrivialMovement(); } Taxi.Move(); }
public void KeyPress(string key) { Vec2F movLeft = new Vec2F(-0.01f, 0.0f); Vec2F movRight = new Vec2F(0.01f, 0.0f); Vec2F movUp = new Vec2F(0.00f, 0.01f); Vec2F movDown = new Vec2F(0.00f, -0.01f); switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "", "")); break; case "KEY_LEFT": player.Direction(movLeft); player.Move(); break; case "KEY_RIGHT": player.Direction(movRight); player.Move(); break; case "KEY_UP": player.Direction(movUp); player.Move(); break; case "KEY_DOWN": player.Direction(movDown); player.Move(); break; case "KEY_SPACE": player.CreateShots(); break; default: Console.WriteLine("Wrong key try again"); break; } }
// //Explosions // public void AddExplosion(float posX, float posY, // float extentX, float extentY) { // explosions.AddAnimation( // new StationaryShape(posX, posY, extentX, extentY), explosionLength, // new ImageStride(explosionLength / 8, explosionStrides)); // } // // public void AddExplosion(Vec2F pos, Vec2F extent) { // AddExplosion(pos.X,pos.Y,extent.X,extent.Y); // } //Events public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "CLOSE_WINDOW", "KEY_PRESS", "")); break; default: state.ActiveState.HandleKeyEvent(key, "KEY_PRESS"); break; // case "KEY_SPACE": // eventBus.RegisterEvent( // GameEventFactory<object>.CreateGameEventForAllProcessors( // GameEventType.PlayerEvent, this, "SHOOT", "KEY_PRESS", "")); // break; // case "KEY_UP": // eventBus.RegisterEvent( // GameEventFactory<object>.CreateGameEventForAllProcessors( // GameEventType.PlayerEvent, this, "KEY_UP", "KEY_PRESS", "")); // break; // case "KEY_DOWN": // eventBus.RegisterEvent( // GameEventFactory<object>.CreateGameEventForAllProcessors( // GameEventType.PlayerEvent, this, "KEY_DOWN", "KEY_PRESS", "")); // break; // case "KEY_LEFT": // eventBus.RegisterEvent( // GameEventFactory<object>.CreateGameEventForAllProcessors( // GameEventType.PlayerEvent, this, "KEY_LEFT", "KEY_PRESS", "")); // break; // case "KEY_RIGHT": // eventBus.RegisterEvent( // GameEventFactory<object>.CreateGameEventForAllProcessors( // GameEventType.PlayerEvent, this, "KEY_RIGHT", "KEY_PRESS", "")); // break; } }
public void KeyPress(string key) { switch (key) { case "KEY_ESCAPE": Console.WriteLine("lel"); eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_PAUSED", "")); break; case "KEY_F12": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.WindowEvent, this, "SAVE_SCREENSHOT", "", "")); break; case "KEY_UP": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_UPWARDS", "", "")); break; case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_LEFT", "", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_RIGHT", "", "")); break; } }
public void GameLoop() { while (_win.IsRunning()) { Game.ScreenTimer.MeasureTime(); while (Game.ScreenTimer.ShouldUpdate()) { _win.PollEvents(); _eventBus.ProcessEvents(); StateMachine.ActiveState.GameLoop(); } if (Game.ScreenTimer.ShouldRender()) { _win.Clear(); _backGroundImage.RenderEntity(); StateMachine.ActiveState.RenderState(); _win.SwapBuffers(); } if (Game.ScreenTimer.ShouldReset()) { // 1 second has passed - display last captured ups and fps from the timer _win.Title = "Space Taxi | UPS: " + Game.ScreenTimer.CapturedUpdates + ", FPS: " + Game.ScreenTimer.CapturedFrames; } if (Player.GetInstance().IsExploding) { // TODO - needs delay _eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "MAIN_MENU", "", "")); } } }
public void HandleKeyEvent(string keyValue, string keyAction) { switch (keyAction) { case "KEY_PRESS": switch (keyValue) { case "KEY_ESCAPE": Game.Win.CloseWindow(); break; case "KEY_ENTER": spaceTaxiBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_RUNNING", "INITIALIZE")); break; } break; } }
public void TestEventBusSimpleCount5Test() { _eb.RegisterEvent(_eventControl); _eb.RegisterEvent(_eventSound); _eb.RegisterEvent(_eventControl); _eb.RegisterEvent(_eventControl); _eb.RegisterEvent(_eventSound); _eb.ProcessEvents(); Assert.That(_simpleEventProcessor.EventCounterControl == 3); Assert.That(_simpleEventProcessor.EventCounterSound == 2); }
public void HandleKeyEvent(string keyValue, string keyAction) { switch (keyAction) { case "KEY_PRESS": switch (keyValue) { case "KEY_ESCAPE": Game.Win.CloseWindow(); break; case "KEY_F12": Console.WriteLine("Saving screenshot"); Game.Win.SaveScreenShot(); break; case "KEY_UP": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_UPWARDS", "KEY_PRESS", "")); break; case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_LEFT", "KEY_PRESS", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "BOOSTER_TO_RIGHT", "KEY_PRESS", "")); break; case "KEY_P": levelManager.ActiveLevel.PauseLevel(); eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.GameStateEvent, this, "CHANGE_STATE", "GAME_PAUSED", "INITIALIZE")); break; } break; case "KEY_RELEASE": switch (keyValue) { case "KEY_LEFT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "STOP_ACCELERATE_LEFT", "KEY_RELEASE", "")); break; case "KEY_RIGHT": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "STOP_ACCELERATE_RIGHT", "KEY_RELEASE", "")); break; case "KEY_UP": eventBus.RegisterEvent( GameEventFactory <object> .CreateGameEventForAllProcessors( GameEventType.PlayerEvent, this, "STOP_ACCELERATE_UP", "KEY_RELEASE", "")); break; } break; } }