From a6daaa36d09028eeb0563f57030fdc4b5af42e65 Mon Sep 17 00:00:00 2001 From: Arto Simonyan Date: Sun, 9 Jun 2024 16:29:38 +0300 Subject: [PATCH] Implement GetWalkableTiles for rooms (#20) --- pkg/data/data.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkg/data/data.go b/pkg/data/data.go index fba9098..dc25117 100644 --- a/pkg/data/data.go +++ b/pkg/data/data.go @@ -71,6 +71,23 @@ func (r Room) IsInside(p Position) bool { return false } +func (r Room) GetWalkableTiles(d Data, room Room) []Position { + var walkableTiles []Position + + for x := room.X; x < room.X+room.Width; x++ { + for y := room.Y; y < room.Y+room.Height; y++ { + if d.CollisionGrid[x][y] { + walkableTiles = append(walkableTiles, Position{ + X: x, + Y: y, + }) + } + } + } + + return walkableTiles +} + func (d Data) MercHPPercent() int { for _, m := range d.Monsters { if m.IsMerc() {