public WeenieError PerformMovement(MovementStruct mvs, Sequence seq) { if (Table == null) { return(WeenieError.NoAnimationTable); } uint counter = 0; switch (mvs.Type) { case MovementType.InterpretedCommand: if (!Table.DoObjectMotion(mvs.Motion, State, seq, mvs.Params.Speed, ref counter)) { return(WeenieError.NoMtableData); } add_to_queue(mvs.Motion, counter, seq); return(WeenieError.None); case MovementType.StopInterpretedCommand: if (!Table.StopObjectMotion(mvs.Motion, mvs.Params.Speed, State, seq, ref counter)) { return(WeenieError.NoMtableData); } add_to_queue((uint)MotionCommand.Ready, counter, seq); return(WeenieError.None); case MovementType.StopCompletely: Table.StopObjectCompletely(State, seq, ref counter); add_to_queue((uint)MotionCommand.Ready, counter, seq); return(WeenieError.None); default: return(WeenieError.None); // ?? } }
public Sequence PerformMovement(MovementStruct mvs, Sequence seq) { if (Table == null) { return(new Sequence(0x7)); } uint counter = 0; switch (mvs.Type) { case MovementType.InterpretedCommand: if (!Table.DoObjectMotion((uint)mvs.Motion, State, seq, mvs.Params.Speed, ref counter)) { return(new Sequence(0x43)); } add_to_queue((uint)mvs.Motion, counter, seq); return(null); case MovementType.StopInterpretedCommand: if (!Table.StopObjectMotion((uint)mvs.Motion, mvs.Params.Speed, State, seq, ref counter)) { return(new Sequence(0x43)); } add_to_queue(0x41000003, counter, seq); return(null); case MovementType.StopCompletely: Table.StopObjectCompletely(State, seq, ref counter); add_to_queue(0x41000003, counter, seq); return(null);; default: return(seq); } }