public static DuckGame.Vec2 Vec2(DuckGame.Vec2 current, DuckGame.Vec2 to, float amount) { DuckGame.Vec2 vec2_1 = current; DuckGame.Vec2 vec2_2 = to; DuckGame.Vec2 vec2_3 = vec2_2 - vec2_1; if ((double)vec2_3.Length() < 9.99999974737875E-05) { return(current); } vec2_3.Normalize(); DuckGame.Vec2 vec2_4 = vec2_1 + vec2_3 * amount; if ((double)vec2_2.x > (double)vec2_1.x && (double)vec2_4.x > (double)vec2_2.x) { vec2_4.x = vec2_2.x; } if ((double)vec2_2.x < (double)vec2_1.x && (double)vec2_4.x < (double)vec2_2.x) { vec2_4.x = vec2_2.x; } if ((double)vec2_2.y > (double)vec2_1.y && (double)vec2_4.y > (double)vec2_2.y) { vec2_4.y = vec2_2.y; } if ((double)vec2_2.y < (double)vec2_1.y && (double)vec2_4.y < (double)vec2_2.y) { vec2_4.y = vec2_2.y; } return(vec2_4); }
public static DuckGame.Vec2 Vec2Smooth(DuckGame.Vec2 current, DuckGame.Vec2 to, float amount) => current + amount * (to - current);