예제 #1
0
        public void DumpCentreHeights(string cmd, string[] cmdsplit, int player)
        {
            logfile.WriteLine("calling GetCentreHeightMap...");
            double[] thismap = aicallback.GetCentreHeightMap();
            logfile.WriteLine("...done");
            int width  = aicallback.GetMapWidth();
            int height = aicallback.GetMapHeight();

            logfile.WriteLine("CentreHeightmap width: " + width + " losheight: " + height);
            ArrayIndexer arrayindexer = new ArrayIndexer(width, height);

            for (int y = 0; y < height; y += 64)
            {
                string line = "";
                for (int x = 0; x < width; x += 64)
                {
                    if (thismap[arrayindexer.GetIndex(x, y)] > 0)
                    {
                        // aicallback.DrawUnit( "ARMRAD", new Float3( x * 64, 0, y * 64 ), 0.0f, 100, aicallback.GetMyAllyTeam(), true, true);
                        line += "*";
                    }
                    else
                    {
                        line += "-";
                    }
                }
                logfile.WriteLine(line);
            }
            aicallback.SendTextMsg("Height dumped to logfile", 0);
        }
예제 #2
0
        public void GenerateMaps()
        {
            logfile.WriteLine("MovementMaps.GenerateMaps start");
            slopemap  = new SlopeMap().GetSlopeMap();
            heightmap = aicallback.GetCentreHeightMap();

            mapwidth  = aicallback.GetMapWidth();
            mapheight = aicallback.GetMapHeight();

            GenerateInfantryAccessibleMap();
            GenerateVehicleAccessibleMap();
            GenerateBoatAccessibleMap();

            infantryareas = CreateAreas(infantryareasizes, infantrymap);
            vehicleareas  = CreateAreas(vehicleareasizes, vehiclemap);
            boatareas     = CreateAreas(boatareasizes, boatmap);

            logfile.WriteLine("MovementMaps.GenerateMaps done");
        }