24 lines
1.1 KiB
C#
24 lines
1.1 KiB
C#
using System.Runtime.CompilerServices;
|
|
using Microsoft.Xna.Framework;
|
|
using Syntriax.Engine.Core;
|
|
|
|
namespace Pong;
|
|
|
|
public static class EngineConverter
|
|
{
|
|
public readonly static Vector2D screenScale = Vector2D.Down + Vector2D.Right;
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static EngineTime ToEngineTime(this GameTime gameTime) => new(gameTime.TotalGameTime, gameTime.ElapsedGameTime);
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Vector2D ToVector2D(this Vector2 vector) => new(vector.X, vector.Y);
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Vector2D ToVector2D(this Point point) => new(point.X, point.Y);
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Vector2 ToVector2(this Vector2D vector) => new(vector.X, vector.Y);
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Vector2 ToDisplayVector2(this Vector2D vector) => vector.Scale(screenScale).ToVector2();
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Vector2D ApplyDisplayScale(this Vector2D vector) => vector.Scale(screenScale);
|
|
}
|