2111 {
2113 if ((uint)Direction > 1
u)
2114 {
2115 if ((uint)(Direction - 2) <= 1
u)
2116 {
2119 int y = (int)(position.
Y + (
float)((Direction == 2) ? Height : 0)) / 16;
2120 float num =
Math.
Min(16f - position.
X % 16f, Width);
2123 {
2124 list.Add(
new Point((
int)position.
X / 16, y));
2125 }
2127 {
2128 list.Add(
new Point((
int)position.
X / 16, y));
2129 }
2130 for (;
num2 + 16f <= (float)(Width - 16);
num2 += 16f)
2131 {
2133 {
2135 }
2137 {
2139 }
2140 }
2141 int width = Width - (int)
num2;
2143 {
2145 }
2147 {
2149 }
2150 }
2151 }
2152 else
2153 {
2156 int y = (int)(position.
X + (
float)((Direction == 0) ? Width : 0)) / 16;
2160 {
2162 }
2164 {
2166 }
2167 for (;
num4 + 16f <= (float)(Height - 16);
num4 += 16f)
2168 {
2170 {
2172 }
2174 {
2176 }
2177 }
2178 int height = Height - (int)
num4;
2180 {
2182 }
2184 {
2186 }
2187 }
2189 }
void Add(TKey key, TValue value)
static byte Min(byte val1, byte val2)
static Vector2 TileCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static Vector4 SlopeCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, float gravity=0f, bool fall=false)