public void fillNodeMap(Object input)
        {
#if XBOX
            Thread.CurrentThread.SetProcessorAffinity(4);
#endif
            GenerateNodeMapResult result = (GenerateNodeMapResult)input;

            result.NodeMap = DungeonGenerator.generateRoomData(GlobalGameConstants.StandardMapSize.x, GlobalGameConstants.StandardMapSize.y, currentSeed);

            result.completed = true;
        }
        private DungeonGenerator.DungeonRoom[,] generateFourDungeons()
        {
            Thread[] threads = new Thread[4];
            GenerateNodeMapResult[] results = new GenerateNodeMapResult[4];
            for (int i = 0; i < 4; i++)
            {
                results[i] = new GenerateNodeMapResult();
            }

            for (int i = 0; i < 4; i++)
            {
                threads[i] = new Thread(new ParameterizedThreadStart(fillNodeMap));
                threads[i].Start(results[i]);
            }

            bool dungeonFound = false;

            while (!dungeonFound)
            {
                for (int i = 0; i < 4; i++)
                {
                    if (results[i].completed == true)
                    {
                        dungeonFound = true;
                    }
                }
            }

            for (int i = 0; i < 4; i++)
            {
                if (threads[i].IsAlive)
                {
                    threads[i].Abort();
                }
            }

            for (int i = 0; i < 4; i++)
            {
                if (results[i].completed == true)
                {
                    return(results[i].NodeMap);
                }
            }

            return(null);
        }