Files
peggle-roguelike/PlayerController.cs
T
2026-05-29 10:51:25 -04:00

42 lines
1.3 KiB
C#

using Godot;
using System;
using System.Collections.Generic;
public partial class PlayerController : TurnController
{
public PackedScene _commanderScene = GD.Load<PackedScene>("res://Commander.tscn");
public List<Tower> _towers = new();
public override void _Ready()
{
base._Ready();
}
public void SetUpTowers(int TOWER_COUNT = 8)
{
Tower tower = GetNode<Tower>("Tower1");
Vector2 towerPositionCorrection = tower._area.GetNode<CollisionShape2D>("Bounds").Shape.GetRect().Size / 2 * (Vector2.Right + Vector2.Up);
float spaceBetweenTowers = _grid._sizeInPixels.X / (TOWER_COUNT - 1);
tower.Position = _grid.Position - _grid._sizeInPixels / 2 + towerPositionCorrection;
_towers.Add(tower);
for (int i = 1; i < TOWER_COUNT; i++)
{
Tower newTower = (Tower)tower.Duplicate();
newTower.Position += new Vector2(spaceBetweenTowers * i - towerPositionCorrection.X * i / (TOWER_COUNT - 1) * 2, 0);
_towers.Add(newTower);
AddChild(newTower);
}
Commander newCommander = _commanderScene.Instantiate<Commander>();
_towers[3]._commander = newCommander;
_towers[3].AddChild(newCommander);
}
public override void StartTurn()
{
}
}