Esempio n. 1
0
        public VMFAdapter(string filename, int horizontal_scale = 64, int vertical_scale = 64, NailsConfig config = null)
        {
            this.Config = config;

            if (Config == null)
            {
                Config = new NailsConfig();
            }

            this._filename         = filename;
            this._horizontal_scale = horizontal_scale;
            this._vertical_scale   = vertical_scale;
            this._vmf = new VMF(); // Blank VMF in case export is called before input
        }
Esempio n. 2
0
        /**
         * Main method given command line options.
         * <author>1upD</author>
         */
        private static void RunOptionsAndReturnExitCode(Options opts)
        {
            try
            {
                // Read agents from XML file
                NailsConfig config = NailsConfig.ReadConfiguration(opts.InputFileName);

                // Create a new nails map
                NailsMap nailsMap = new NailsMap();
                AlifeMap alifeMap = new NailsAlifeMap(nailsMap);
                alifeMap.Agents = config.Agents;

                // Run the simulation
                AlifeSimulation.Simulate(ref alifeMap, opts.Lifetime);

                // Write out to a file
                VMFAdapter vmfAdapter = new VMFAdapter(filename: opts.OutputFileName, horizontal_scale: opts.HorizontalScale, vertical_scale: opts.VerticalScale, config: config);
                vmfAdapter.Export(nailsMap);
            } catch (Exception e)
            {
                log.Fatal("NailsCmd caught fatal exception: ", e);
            }
        }