private void Update()
        {
            if (!isSeamothArmSlotsReady || armsDirty)
            {
                return;
            }

            bool pilotingMode = seamoth.GetPilotingMode();
            bool flag2        = pilotingMode && !seamoth.docked;

#if DEBUG
            pilotingMode = true;
            flag2        = true;

            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                if (currentSelectedArm != SeamothArm.Left)
                {
                    seamoth.SlotKeyDown(LeftArmSlotID);
                }

                seamoth.SendMessage("SlotLeftDown");
            }

            if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                if (currentSelectedArm != SeamothArm.Right)
                {
                    seamoth.SlotKeyDown(RightArmSlotID);
                }

                seamoth.SendMessage("SlotLeftDown");
            }

            if (Input.GetKeyUp(KeyCode.LeftArrow) || Input.GetKeyUp(KeyCode.RightArrow))
            {
                seamoth.SendMessage("SlotLeftUp");
            }
#endif

            if (pilotingMode)
            {
                if (AvatarInputHandler.main.IsEnabled())
                {
                    Vector3 eulerAngles = seamoth.transform.eulerAngles;
                    eulerAngles.x = MainCamera.camera.transform.eulerAngles.x;
                    Quaternion quaternion = Quaternion.Euler(eulerAngles.x, eulerAngles.y, eulerAngles.z);
                    Quaternion rotation   = quaternion;

                    if (flag2)
                    {
                        aimTargetLeft.transform.position  = MainCamera.camera.transform.position + quaternion * Vector3.forward * 100f;
                        aimTargetRight.transform.position = MainCamera.camera.transform.position + rotation * Vector3.forward * 100f;
                    }

                    bool hasPropCannon = false;

                    if (currentSelectedArm == SeamothArm.Left && leftArm != null)
                    {
                        leftArm.Update(ref quaternion);
                        hasPropCannon = leftArm.HasPropCannon();
                    }
                    else if (currentSelectedArm == SeamothArm.Right && rightArm != null)
                    {
                        rightArm.Update(ref rotation);
                        hasPropCannon = rightArm.HasPropCannon();
                    }

                    if (hasPropCannon)
                    {
                        UpdateUIText(hasPropCannon);
                    }

                    if (GameInput.GetButtonDown(GameInput.Button.AltTool))
                    {
                        if (currentSelectedArm == SeamothArm.Left && leftArm != null)
                        {
                            leftArm.OnAltDown();
                        }
                        else if (currentSelectedArm == SeamothArm.Right && rightArm != null)
                        {
                            rightArm.OnAltDown();
                        }
                    }
                }

                UpdateActiveTarget(HasClaw(), HasDrill());
            }
        }