Thursday, 11 September 2025 02:29:56

This commit is contained in:
2025-09-11 02:29:59 -04:00
parent 23700e2bcf
commit 36ce21cb44
4 changed files with 21 additions and 26 deletions

View File

@@ -28,22 +28,23 @@ public partial class Manager : Node2D
SetSprite("res://art/ness.png");
_managerPanel = GetNode<ManagerPanel>("Panel");
// _managerPanel = GetNode<ManagerPanel>("Panel");
_desk = GetNode<Desk>("Desk");
_desk.Setup(15, 20);
_deskPosition = new Vector2(1, 1);
// _movements.Insert(0, _deskPosition);
_image = GetNode<Sprite2D>("Image");
_image.GlobalPosition = _desk.GetPositionFromAddress(1, 1);
_managerPanel.SetManager(this);
// _managerPanel.SetManager(this);
for (int i = 0; i < Globals.Instance._random.Next(3, 6); i++)
{
AddWorker(null);
}
}
public override void _PhysicsProcess(double DELTA_)
public override void _Process(double DELTA_)
{
ChainMovement();
ChainSelection();
@@ -89,6 +90,7 @@ public partial class Manager : Node2D
{
for (int i = 0; i < _workers.Count && i < _movements.Count; i++)
{
_workers[i]._deskPosition = _movements[i];
_workers[i].GlobalPosition = _desk.GetPositionFromAddress((int)_movements[i].Y, (int)_movements[i].X);
}
}
@@ -112,7 +114,7 @@ public partial class Manager : Node2D
}
if (Input.IsActionJustReleased("left_click"))
{
_heldWorker.GlobalPosition = _heldWorker._chainPosition;
_heldWorker.GlobalPosition = _desk.GetPositionFromAddress((int)_heldWorker._deskPosition.Y, (int)_heldWorker._deskPosition.X);
_heldWorker._held = false;
_heldWorker = null;
}
@@ -169,13 +171,12 @@ public partial class Manager : Node2D
public void SwapPositions(Worker A, Worker B)
{
Vector2 chainPositionA = A._chainPosition, chainPositionB = B._chainPosition;
List<Vector2> movesA = new(A._moves), movesB = new(B._moves);
B.Position = chainPositionA;
A._chainPosition = chainPositionB;
B._chainPosition = chainPositionA;
A._moves = movesB;
B._moves = movesA;
Vector2 deskPositionA = A._deskPosition, deskPositionB = B._deskPosition;
B.GlobalPosition = _desk.GetPositionFromAddress((int)deskPositionA.Y, (int)deskPositionA.X);
A._deskPosition = deskPositionB;
B._deskPosition = deskPositionA;
int indexA = _workers.IndexOf(A), indexB = _workers.IndexOf(B);
Worker C = A;
_workers[indexA] = B;