#pragma once #include struct Area { int startX; int startY; int endX; int endY; int dimensionId; }; enum Direction { NO_DIRECTION = 0, NORTH = 1, EAST = 2, SOUTH = 4, WEST = 8, TOP = 16, BOTTOM = 32, INSIDE = 64 }; typedef int Directions; #define ANY_DIRECTION NORTH | EAST | SOUTH | WEST | TOP | BOTTOM Direction getOppositeDirection(Direction dir); Directions getDirections( Framework::Vec3 currentPos, Framework::Vec3 otherPos); Framework::Vec3 getDirection(Directions dir); int getDirectionIndex(Direction dir); Direction getDirectionFromIndex(int index);