Files
peggle-roguelike/PlayArea.cs
T
2026-07-04 03:04:56 -04:00

54 lines
1.4 KiB
C#

using Godot;
using System;
using System.Collections.Generic;
using System.Linq;
public partial class PlayArea : Node2D
{
public Node2D _leftEdge, _rightEdge;
public Area2D _region;
public Map _map;
public override void _Ready()
{
base._Ready();
_region = GetNode<Area2D>("Region");
_leftEdge = GetNode<Node2D>("LeftEdge");
_rightEdge = GetNode<Node2D>("RightEdge");
CollisionShape2D regionBounds = _region.GetNode<CollisionShape2D>("Bounds");
_map = GetNode<Map>("Map");
TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces");
}
public override void _Process(double delta)
{
base._Process(delta);
}
public void HighlightCells()
{
TileMapLayer occupiedSpaces = GetNode<TileMapLayer>("OccupiedSpaces");
for (int i = 0; i < _map._cells.Count; i++)
{
MapCell c = _map._cells.ElementAt(i).Value;
if (c._occupant != null)
{
GD.Print(c._occupant);
occupiedSpaces.SetCell(c._address, 0, new Vector2I(4,0));
}
else if (_map._astar.IsPointSolid(c._address))
{
occupiedSpaces.SetCell(c._address, 0, new Vector2I(3,1));
}
else
{
occupiedSpaces.SetCell(c._address, 0, new Vector2I(4,1));
}
}
}
}