Thursday, 11 September 2025 02:29:56
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user