public bool CheckForCollision(Point point) { var targetPosition = new Point(GamePlayManager.Player.CurrentPlayerPosition.row + point.row, GamePlayManager.Player.CurrentPlayerPosition.column + point.column); var targetTile = GamePlayManager.GetTileAtPoint(targetPosition); if (targetTile is WallTile) { return(false); } if (targetTile is Door && !GamePlayManager.Player.CheckForKey(targetTile.Color)) { return(false); } return(true); }
public void Interact(GamePlayManager gamePlayerManager) { var tempTile = gamePlayerManager.GetTileAtPoint(new Point(6, 31)); if (!tempTile.IsExplored) { gamePlayerManager.GameObjects.Remove(tempTile); gamePlayerManager.GameObjects.Add(new FloorTile(tempTile.Position, false)); } else if (tempTile.IsExplored) { gamePlayerManager.GameObjects.Remove(tempTile); gamePlayerManager.GameObjects.Add(new FloorTile(tempTile.Position, true)); ConsoleHandler.WriteCharAt(tempTile.Symbol, tempTile.Position, tempTile.Color); } }
private void ExploreTilesAroundPlayer(GamePlayManager gamePlayManager, Point currentPlayerPosition) { Point point; GameObject tempTile; for (int row = currentPlayerPosition.row - 1; row < currentPlayerPosition.row + 2; row++) { for (int column = currentPlayerPosition.column - 1; column < currentPlayerPosition.column + 2; column++) { point = new Point(row, column); tempTile = gamePlayManager.GetTileAtPoint(point); ConsoleHandler.WriteCharAt(tempTile.Symbol, point, tempTile.Color); tempTile.IsExplored = true; } } }