Exemplo n.º 1
0
    //----------------------------------------------------------------------------------------------------------
    // Use this for MapSpawn
    bool SpawnMap(int MapCount)
    {
        StackOverFlow = 0;

        while (Map.MaxMapCount > Map.MapCount)
        {
            StackOverFlow++;

            if (Map.MapCount == 0)
            {
                if (!Map.MakeMap((int)Map.Mapinfo.MapStatus[MapCount].Pos.x, (int)Map.Mapinfo.MapStatus[MapCount].Pos.y))
                {
                }
                MapCount = Map.MapCount - 1;
            }

            else
            {
                if (!Map.MakeMap((int)Map.Mapinfo.MapStatus[MapCount].Pos.x, (int)Map.Mapinfo.MapStatus[MapCount].Pos.y))
                {
                    MapCount = Map.MapCount - 1;
                }
            }

            if (StackOverFlow >= 100)
            {
                Debug.Log("Can't Make Room anymore In SpawnMap");
                if (Map.MaxMapCount >= where)
                {
                    while (Map.MapCount > Map.MaxMapCount - 3)
                    {
                        Map.MapStruct[(int)Map.Mapinfo.MapStatus[MapCount].Pos.y, (int)Map.Mapinfo.MapStatus[MapCount].Pos.x] = 0;
                        Map.Mapinfo.MapStatus[MapCount] = new MapInfo.Mapinfo();

                        Map.MapCount--;
                        Map.W = (int)Map.Mapinfo.MapStatus[MapCount].Pos.x;
                        Map.H = (int)Map.Mapinfo.MapStatus[MapCount].Pos.y;
                    }
                }
                return(false);
            }
        }

        return(true);
    }