public AbstractRenderer(char[][] map) { Map = map; Caster = new Caster(map); RenderWallTasks = new Task[2]; Wall.BuildLookupTable(); Floor.BuildLookupTable(); PointsScreenLeft = new Dictionary <float, Dictionary <float, Vector2> >(); PointsScreenRight = new Dictionary <float, Dictionary <float, Vector2> >(); PointsScreenMiddle = new Dictionary <float, Dictionary <float, Vector2> >(); AllocateWalls(); AllocateFloors(); AllocateAllPointScreen(); }