Esempio n. 1
0
        public WeenieError StopMotion(uint motion, MovementParameters movementParams)
        {
            if (PhysicsObj == null)
            {
                return(WeenieError.NoPhysicsObject);
            }

            if (movementParams.CancelMoveTo)
            {
                PhysicsObj.cancel_moveto();
            }

            var currentMotion = motion;
            var currentParams = new MovementParameters();

            currentParams.CopySome(movementParams);

            adjust_motion(ref currentMotion, ref currentParams.Speed, movementParams.HoldKeyToApply);

            var result = StopInterpretedMotion(currentMotion, currentParams);

            if (result == WeenieError.None && movementParams.ModifyRawState)
            {
                RawState.RemoveMotion(motion);
            }

            return(result);
        }
Esempio n. 2
0
        public Sequence StopMotion(uint motion, MovementParameters movementParams)
        {
            if (PhysicsObj == null)
            {
                return(new Sequence(8));
            }

            if (movementParams.CancelMoveTo)
            {
                PhysicsObj.cancel_moveto();
            }

            adjust_motion(motion, movementParams.Speed, movementParams.HoldKeyToApply);

            var newMotion = StopInterpretedMotion(motion, movementParams);

            if (newMotion == null && movementParams.ModifyRawState)
            {
                RawState.RemoveMotion(motion);
            }

            return(newMotion);
        }