internal CollisionWall(Box box, int side) { _Box = box; _Side = side; switch (side) { case Sides.BackX: _CheckDelegate = CheckBackXCollisions; break; case Sides.BackZ: _CheckDelegate = CheckBackZCollisions; break; case Sides.FrontX: _CheckDelegate = CheckFrontXCollisions; break; case Sides.FrontZ: _CheckDelegate = CheckFrontZCollisions; break; default: throw new ArgumentException("Invalid side for wall collision object: " + side); } }