private void ProcessInteraction() { if (Input.IsActionJustPressed(Interact)) { if (overlapingBody != null && !characterMovementLocked) { if (overlapingBody.GetType() == typeof(CharacterBody)) { if (((CharacterBody)overlapingBody).State.CharacterTeam == Team.PC) { if (Input.GetMouseMode() == Input.MouseMode.Captured) { Input.SetMouseMode(Input.MouseMode.Visible); } menuLocked = true; characterIntereactedLocation = Translation; EmitSignal(nameof(PCInteracted), overlapingBody); } else { } } } else if (characterMovementLocked) { EmitSignal(nameof(MovementLocationSelected), Translation); } else { } } }