public SetRotorDisplacementForFinalWeldState(MyContext context)
                : base(context._offsetRotors, context._maxRotorDisplacement, 0.1f)
            {
                MoveRotorDisplacementState next = new MoveRotorDisplacementState(context._offsetRotors, context._minRotorDisplacement, 0.1f);

                next.setNextState(new UnlockHeadState());
                setNextState(next);
            }
            public override void update(MyContext context)
            {
                MyContext.setBlocksEnabled(context._mergeBlocks, false);
                foreach (IMyShipConnector b in context._connectors)
                {
                    b.Disconnect();
                }

                MoveRotorDisplacementState next = new MoveRotorDisplacementState(context._offsetRotors, context._maxRotorDisplacement, 0.1f);

                next.setNextState(new MoveHeadState());
                context.transition(next);
            }
 public void trigger(string command, string[] args)
 {
     if (command == "start")
     {
         _impl.Context.log("Boring started");
         MoveRotorDisplacementState next = new MoveRotorDisplacementState(_impl.Context._offsetRotors, _impl.Context._minRotorDisplacement, 0.1f);
         next.setNextState(new BoringState());
         _impl.Context.transition(next);
     }
     else if (command == "stop")
     {
         _impl.Context.log("Boring stopped");
         _impl.Context._stopStateRequested = true;
     }
 }