public static MarioState PerformButtSlide(MarioState marioState, int angleDiff, TriangleDataModel floor, List <TriangleDataModel> walls) { MutableMarioState mutableMarioState = marioState.GetMutableMarioState(angleDiff); common_slide_action_with_jump(mutableMarioState, floor, walls); return(mutableMarioState.GetMarioState(marioState, new Input(angleDiff, 0))); }
public static MarioState ApplyInput(MarioState initialState, int angleDiff) { MutableMarioState mutableMarioState = initialState.GetMutableMarioState(angleDiff); mutableMarioState.IntendedMagnitude *= 0.4f; UpdateWalkingSpeed(mutableMarioState); PerformGroundStep(mutableMarioState); MarioState finalState = mutableMarioState.GetMarioState(initialState, null); return(finalState); }