7-29-25 @ 2:57am

This commit is contained in:
2025-07-29 02:57:11 -04:00
parent 41b5c34e70
commit 0638fc52ec
17 changed files with 314 additions and 347 deletions

View File

@@ -13,31 +13,45 @@ public partial class Manager : Node
public Worker _hoveredWorker = null;
public Worker _selectedWorker = null;
public Worker _heldWorker = null;
public ManagerPanel _managerPanel = null;
public Panel _ballReturn = null;
public static Manager _Create()
{
PackedScene scene = ResourceLoader.Load<PackedScene>("res://Gameplay/manager.tscn");
Manager newManager = scene.Instantiate<Manager>();
// public static Manager _Create()
// {
// PackedScene scene = ResourceLoader.Load<PackedScene>("res://Gameplay/manager.tscn");
// Manager newManager = scene.Instantiate<Manager>();
Worker newWorker = Worker._Create();
newWorker.GetNode<Ball>("Ball").SetSprite("res://art/cue_ball.png");
newWorker.GetNode<TempBall>("TempBall").SetSprite("res://art/cue_ball.png");
// newWorker.ChangeBallPosition(new Vector2(100, 100));
newManager._lead = newWorker;
newManager._team.Add(newWorker);
newManager.AddChild(newWorker);
newManager._health = 10;
newManager._healthMax = newManager._health;
// Worker newWorker = Worker._Create();
// newWorker.GetNode<Ball>("Ball").SetSprite("res://art/cue_ball.png");
// newWorker.GetNode<TempBall>("TempBall").SetSprite("res://art/cue_ball.png");
// newManager._lead = newWorker;
// newManager._team.Add(newWorker);
// newManager.AddChild(newWorker);
// return newManager;
// }
public override void _Ready()
{
_managerPanel = GetNode<ManagerPanel>("Panel");
_ballReturn = _managerPanel.GetNode<Panel>("BallReturn");
_health = 10;
_healthMax = _health;
_managerPanel.SetSprite("res://art/ness.png");
_managerPanel.SetMax(_healthMax);
_managerPanel.SetValue(_health);
_cue = GetNode<Cue>("Cue");
}
newManager.GetNode<ManagerPanel>("Panel").SetSprite("res://art/ness.png");
newManager.GetNode<ManagerPanel>("Panel").SetMax(newManager._healthMax);
newManager.GetNode<ManagerPanel>("Panel").SetValue(newManager._health);
return newManager;
}
public override void _Process(double DELTA_)
{
// Panel ballReturn = GetNode<ManagerPanel>("Panel").GetNode<Panel>("BallReturn");
// WORKER.ChangeBallPosition(new Vector2(ballReturn.GlobalPosition.X + ballReturn.Size.X / 2, ballReturn.GlobalPosition.Y + 50));
if (_team.Any(w => w._hovered))
{
_hoveredWorker = _team.Single(w => w._hovered);
@@ -49,7 +63,31 @@ public partial class Manager : Node
if (_ready)
{
if ((_selectedWorker == null || _selectedWorker != _hoveredWorker) && (_hoveredWorker?._available ?? false))
{
if (Input.IsActionJustReleased("left_click"))
{
_selectedWorker = _hoveredWorker;
_selectedWorker._selected = true;
GD.Print(_selectedWorker._ball);
_cue.Don(_selectedWorker._ball.Position);
}
}
else if (Input.IsActionJustReleased("right_click"))
{
_selectedWorker._selected = false;
_selectedWorker = null;
_cue.Doff();
}
else if (_hoveredWorker == null)
{
if (Input.IsActionJustReleased("left_click") && _selectedWorker != null && _cue._power == 0)
{
_selectedWorker._selected = false;
_selectedWorker = null;
_cue.Doff();
}
}
}
else
{
@@ -79,73 +117,6 @@ public partial class Manager : Node
}
}
// if (!Globals.Instance._anyMovement)
// {
// if (_team.Any(w => w._hovered))
// {
// _hoveredWorker = _team.Single(w => w._hovered);
// }
// else
// {
// _hoveredWorker = null;
// }
// if (!_ready)
// {
// if (_heldWorker == null)
// {
// if (Input.IsActionJustReleased("left_click"))
// {
// if (!_hoveredWorker._placed)
// {
// _heldWorker = _hoveredWorker;
// }
// }
// }
// else
// {
// Vector2 mousePosition = GetViewport().GetMousePosition();
// _heldWorker.Position = mousePosition;
// if (Input.IsActionJustReleased("left_click"))
// {
// PlaceWorker(_heldWorker, mousePosition);
// _heldWorker = null;
// if (_team.Where(w => w._placed).ToList().Count >= _team.Count)
// {
// _ready = true;
// }
// }
// }
// }
// else
// {
// if ((_selectedWorker == null || _selectedWorker != _hoveredWorker) && (_hoveredWorker?._available ?? false))
// {
// if (Input.IsActionJustReleased("left_click"))
// {
// _selectedWorker = _hoveredWorker;
// _selectedWorker._selected = true;
// _cue.Don(_selectedWorker.GetNode<Ball>("Ball").Position);
// }
// }
// else if (Input.IsActionJustReleased("right_click"))
// {
// _selectedWorker._selected = false;
// _selectedWorker = null;
// _cue.Doff();
// }
// else if (_hoveredWorker == null)
// {
// if (Input.IsActionJustReleased("left_click") && _selectedWorker != null && _cue._power == 0)
// {
// _selectedWorker._selected = false;
// _selectedWorker = null;
// _cue.Doff();
// }
// }
// }
// }
}
public void ChangeHealth(int CHANGE)
@@ -173,22 +144,6 @@ public partial class Manager : Node
// AddChild(WORKER);
// }
public void PlaceWorker(Worker WORKER, Vector2 POSITION)
{
WORKER._placed = true;
WORKER._potted = false;
WORKER.ChangeBallPosition(POSITION);
WORKER.GetNode<CollisionShape2D>("Bounds").Disabled = false;
}
public void PotWorker(Worker WORKER)
{
Panel ballReturn = GetNode<ManagerPanel>("Panel").GetNode<Panel>("BallReturn");
WORKER.PotBall();
WORKER.ChangeBallPosition(new Vector2(ballReturn.GlobalPosition.X + ballReturn.Size.X / 2, ballReturn.GlobalPosition.Y + 50));
_ready = false;
}
public void SetSprite(string PATH)
{
GetNode<Sprite2D>("Image").Texture = GD.Load<Texture2D>(PATH);
@@ -196,20 +151,11 @@ public partial class Manager : Node
public void Start()
{
Panel ballReturn = GetNode<ManagerPanel>("Panel").GetNode<Panel>("BallReturn");
for (int i = 0; i < _team.Count; i++)
{
_team[i]._ball.GetNode<CollisionShape2D>("Bounds").Disabled = true;
if (_team[i].GetNodeOrNull<Ball>("Ball") != null)
{
_team[i].RemoveChild(_team[i]._ball);
}
_team[i].AddChild(_team[i]._tempBall);
_team[i]._tempBall.Position = new Vector2(ballReturn.GlobalPosition.X + ballReturn.Size.X / 2, ballReturn.GlobalPosition.Y + 50 * (i + 1));
// _team[i].Position = new Vector2(ballReturn.GlobalPosition.X + ballReturn.Size.X / 2, ballReturn.GlobalPosition.Y + 50 * (i + 1));
_team[i]._tempBall.Position = new Vector2(_ballReturn.GlobalPosition.X + _ballReturn.Size.X / 2, _ballReturn.GlobalPosition.Y + 50 * (i + 1));
_team[i].TempBallShow();
// AddChild(_team[i]);
}
}
@@ -219,7 +165,7 @@ public partial class Manager : Node
{
_selectedWorker.GetNode<Ball>("Ball").ApplyCentralImpulse(IMPULSE);
_selectedWorker._selected = false;
_selectedWorker._launched = true;
_selectedWorker.Launch();
_selectedWorker = null;
_cue.Doff();
}