summaryrefslogtreecommitdiff
path: root/scripts/DungeonLevel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/DungeonLevel.cs')
-rw-r--r--scripts/DungeonLevel.cs17
1 files changed, 14 insertions, 3 deletions
diff --git a/scripts/DungeonLevel.cs b/scripts/DungeonLevel.cs
index 6fccc20..d3a5aee 100644
--- a/scripts/DungeonLevel.cs
+++ b/scripts/DungeonLevel.cs
@@ -5,16 +5,18 @@ public partial class DungeonLevel : Node2D
{
public Player player;
private TileMapLayer buildingLayer;
+ [Export]
+ private Godot.Collections.Array<Actor> actors = [];
- private Node2D actors;
+ private Node2D actorsNode;
public override void _Ready()
{
base._Ready();
buildingLayer = GetNode<TileMapLayer>("Dungeon");
- actors = GetNode<Node2D>("Actors");
- player = actors.GetNode<Player>("Player");
+ actorsNode = GetNode<Node2D>("Actors");
+ player = actorsNode.GetNode<Player>("Player");
}
public bool IsTileWalkable(Vector2I pos) {
@@ -24,4 +26,13 @@ public partial class DungeonLevel : Node2D
return (bool)tile.GetCustomData("isWalkable");
}
+
+ public Actor GetBlockingActorAtPosition(Vector2I pos) {
+ foreach (Actor actor in actors) {
+ if (actor.GridPosition == pos && actor.BlocksMovement) {
+ return actor;
+ }
+ }
+ return null;
+ }
}