public static EntityPosition Create(TilePos basePosition, EntityPosition other) { var offset = basePosition - other.BasePosition; var relativePosition = other.RelativePosition - offset.Vec * Tile.RealSize; return(new EntityPosition(basePosition, relativePosition)); }
private Vector3I GetBaseDifference(EntityPosition other) { return((BasePosition - other.BasePosition).Vec * Tile.RealSize); }
public Vector3 RelativeTo(EntityPosition other) { return(GetBaseDifference(other) + RelativePosition - other.RelativePosition); }