public static (TriangleDataModel, float) FindFloorAndY(float floatX, float floatY, float floatZ) { TriangleDataModel tri = FindFloor(floatX, floatY, floatZ); if (tri == null) { return(tri, -11000); } float y = tri.GetTruncatedHeightOnTriangle(floatX, floatZ); return(tri, y); }
public static (TriangleDataModel, float) FindCeilingAndY(float floatX, float floatY, float floatZ) { TriangleDataModel tri = FindCeiling(floatX, floatY + 80, floatZ); if (tri == null) { return(tri, 20000); } float y = tri.GetTruncatedHeightOnTriangle(floatX, floatZ); return(tri, y); }
private static void perform_ground_quarter_step( MutableMarioState marioState, float intendedPosX, float intendedPosY, float intendedPosZ, TriangleDataModel floor, List <TriangleDataModel> walls) { (intendedPosX, intendedPosZ) = WallDisplacementCalculator.HandleWallDisplacement( intendedPosX, intendedPosY, intendedPosZ, walls, 50, 60); float floorHeight = floor.GetTruncatedHeightOnTriangle(intendedPosX, intendedPosZ); marioState.X = intendedPosX; marioState.Y = floorHeight; marioState.Z = intendedPosZ; }