private void OnInputReceived(object sender, EventArgs e) { var args = (CommandEventArgs)e; switch (args.ReceivedCommand) { case ConsoleKey.LeftArrow when(X > 1): X--; //HeroMoved?.Invoke(this, new HeroMovedEventArgs {NewX = X, NewY = Y}); break; case ConsoleKey.RightArrow when(X < StaticRegistry.Board.Width - 1): X++; //HeroMoved?.Invoke(this, new HeroMovedEventArgs {NewX = X, NewY = Y}); break; case ConsoleKey.UpArrow when(Y > 1): Y--; //HeroMoved?.Invoke(this, new HeroMovedEventArgs {NewX = X, NewY = Y}); break; case ConsoleKey.DownArrow when(this.Y < StaticRegistry.Board.Height - 1): Y++; //HeroMoved?.Invoke(this, new HeroMovedEventArgs {NewX = X, NewY = Y}); break; } HeroMoved?.Invoke(this, new HeroMovedEventArgs { NewX = X, NewY = Y }); }
private void OnInputReceived(object sender, EventArgs e) { var args = (CommandEventArgs)e; if ((args.ReceivedCommand == System.ConsoleKey.LeftArrow) && (this.X > 1)) { this.X--; HeroMoved?.Invoke(this, new HeroMovedEventArgs { NewX = X, NewY = Y }); } if ((args.ReceivedCommand == System.ConsoleKey.RightArrow) && (this.X < StaticRegistry.board.Width - 1)) { this.X++; HeroMoved?.Invoke(this, new HeroMovedEventArgs { NewX = X, NewY = Y }); } if ((args.ReceivedCommand == System.ConsoleKey.UpArrow) && (this.Y > 1)) { this.Y--; HeroMoved?.Invoke(this, new HeroMovedEventArgs { NewX = X, NewY = Y }); } if ((args.ReceivedCommand == System.ConsoleKey.DownArrow) && (this.Y < StaticRegistry.board.Height - 1)) { this.Y++; HeroMoved?.Invoke(this, new HeroMovedEventArgs { NewX = X, NewY = Y }); } }
public void HeroHasMoved(CHeroBase hero, SPoint oldPosition, SPoint newPosition) { HeroMoved?.Invoke(this, (Hero: hero, OldPosition: oldPosition, NewPosition: newPosition)); }