void _CheckWhichTilesAdd(_Horizontal __horDir, _Vertical __verDir, short __horDiff, short __verDiff) { if (__verDir == _Vertical.Down) { if (__horDir == _Horizontal.Right) { _DeleteOldTiles_V2(__verDiff, __horDiff, false, false); _AddNewTiles_V2(__verDiff, __horDiff, true, true); } else { _DeleteOldTiles_V2(__verDiff, __horDiff, true, false); _AddNewTiles_V2(__verDiff, __horDiff, false, true); } } else { if (__horDir == _Horizontal.Right) { _DeleteOldTiles_V2(__verDiff, __horDiff, false, true); _AddNewTiles_V2(__verDiff, __horDiff, true, false); } else { _DeleteOldTiles_V2(__verDiff, __horDiff, true, true); _AddNewTiles_V2(__verDiff, __horDiff, false, false); } } }
void _CheckDiffBetCameraPos(short __lastX, short __lastY, short __curX, short __curY) { short __diffY = 0; short __diffX = 0; // Directions of move of camera _Vertical __ver = _Vertical.None; _Horizontal __hor = _Horizontal.None; // If camera goes down if (__curY > __lastY) { __diffY = _CalculateDiffY(__curY, __lastY); __ver = _Vertical.Down; // We work upside down so if camera goes down in scene in arrays goes up. } // If camera goes up else if (__curY < __lastY) { __diffY = _CalculateDiffY(__lastY, __curY); __ver = _Vertical.Up; } // If camera goes right if (__curX > __lastX) { __diffX = _CalculateDiffX(__curX, __lastX); __hor = _Horizontal.Right; } // If camera goes left else if (__curX < __lastX) { __diffX = _CalculateDiffX(__lastX, __curX); __hor = _Horizontal.Left; } _CheckWhichTilesAdd(__hor, __ver, __diffX, __diffY); }