Exemple #1
0
        //---------------------------------------------------------------------

        private ExtensionMain[] LoadExtensions(ExtensionAndInitFile[] extensions)
        {
            ExtensionMain[] loadedExtensions = new ExtensionMain[extensions.Length];
            foreach (int i in Indexes.Of(extensions))
            {
                ExtensionAndInitFile extensionAndInitFile = extensions[i];
                ui.WriteLine("Loading {0} extension ...", extensionAndInitFile.Info.Name);
                ExtensionMain loadedExtension = Loader.Load <ExtensionMain>(extensionAndInitFile.Info);
                loadedExtension.LoadParameters(extensionAndInitFile.InitFile, this);

                loadedExtensions[i] = loadedExtension;

                disturbAndOtherExtensions.Add(loadedExtension);
            }
            return(loadedExtensions);
        }
Exemple #2
0
        public void RunScenario(string path)
        {
            // path to scenario file ignored

            landscape = landscapeFactory.CreateLandscape(Ecoregions.CreateGrid());

            ecoregions = landscape.NewSiteVar <int>();
            foreach (ActiveSite site in landscape)
            {
                ecoregions[site] = Ecoregions.Codes[site.Location.Row - 1, site.Location.Column - 1];
            }
            ecoregions.InactiveSiteValues = -1;

            // Instantiate the main class of the example extension, passing
            //   the core to it.
            ExtensionMain extensionMain = new ExtensionMain(this);

            // Run the extension.
            extensionMain.Run();
        }
Exemple #3
0
        //---------------------------------------------------------------------

        private void Run(ExtensionMain extension)
        {
            ui.WriteLine("Running {0} ...", extension.Name);
            extension.Run();
        }
Exemple #4
0
        //---------------------------------------------------------------------

        private bool IsExtensionTimestep(ExtensionMain extension)
        {
            return((extension.Timestep > 0) && (timeSinceStart % extension.Timestep == 0));
        }