public void Init()
        {
            parser = new ScenarioParser();

            List <IInfo> plugIns = new List <IInfo>();

            plugIns.Add(new Info("Age-only succession",
                                 typeof(PlugIns.ISuccession),
                                 null));
            string[] disturbancePlugIns = new string[] { "Null.Disturbance",
                                                         "Age-only.Wind",
                                                         "Age-only.Fire",
                                                         "Harvest" };
            foreach (string name in disturbancePlugIns)
            {
                plugIns.Add(new Info(name, typeof(PlugIns.IDisturbance), null));
            }
            string[] outputPlugIns = new string[] { "Test.DumpEcoregions",
                                                    "Test.DumpSpecies" };
            foreach (string name in outputPlugIns)
            {
                plugIns.Add(new Info(name, typeof(PlugIns.IOutput), null));
            }
            PlugIns.Manager.Initialize(plugIns);

            Data.Output.WriteLine("{0} = \"{1}\"", dataDirPlaceholder, Data.Directory);
            Data.Output.WriteLine();
        }
Beispiel #2
0
        public void ParseText_InvalidLineKeyword_ReturnsZero()
        {
            string        text     = "NOTEXISTING 001	  	1		4990           		0        		0.1			   	    0.1  		 10\n";
            List <Vessel> actual   = ScenarioParser.ParseText(text);
            int           expected = 0;

            Assert.AreEqual(expected, actual.Count);
        }
Beispiel #3
0
        public void ParseText_EmptyText_ReturnsEmptyList()
        {
            string        text     = "\n";
            List <Vessel> actual   = ScenarioParser.ParseText(text);
            List <Vessel> expected = new List <Vessel>();

            Assert.AreEqual(expected.Count, actual.Count);
        }
Beispiel #4
0
 public void ParseText_InvalidLineValue_ThrowsFormatException()
 {
     Assert.Throws <System.FormatException>(
         delegate
     {
         string text = "NEWT 001	  		1			4990           		a        		0.1			   	    0.1  		 10\n";
         ScenarioParser.ParseText(text);
     }
         );
 }
Beispiel #5
0
        public void ParseText_InvalidSimulationDetails_ThrowsFormatException()
        {
            string text = "STARTTIME 0\n" +
                          "TIMESTEP A\n" +
                          "TIME B\n" +
                          "RANGE 500\n";

            Assert.Throws <System.FormatException>(
                delegate
            {
                ScenarioParser.ParseText(text);
            }
                );
        }
Beispiel #6
0
        public void ParseText_ValidLine_ReturnsListWithOneVesselObject()
        {
            string        text     = "NEWT     001	  		1			4990           		0        		0.1			   	    0.1  		 10\n";
            List <Vessel> actual   = ScenarioParser.ParseText(text);
            List <Vessel> expected = new List <Vessel>();

            expected.Add(new Vessel(new string[] { "NEWT", "1", "1", "4990", "0", "0.1", "0.1", "10" }));

            Assert.AreEqual(expected.Count, actual.Count);

            for (int i = 0; i != expected.Count; i++)
            {
                Assert.IsTrue(new VesselComparer().Equals(expected[i], actual[i]));
            }
        }
        public void Init()
        {
            PlugInDataset plugIns = new PlugInDataset();
            plugIns.AddPlugIn("Age-only succession", "succession", null);

            plugIns.AddPlugIn("Null.Disturbance", "disturbance", null);
            plugIns.AddPlugIn("Age-only.Wind",    "disturbance:wind", null);
            plugIns.AddPlugIn("Age-only.Fire",    "disturbance:fire", null);
            plugIns.AddPlugIn("Harvest",          "disturbance:harvest", null);

            plugIns.AddPlugIn("Test.DumpEcoregions", "output", null);
            plugIns.AddPlugIn("Test.DumpSpecies",    "output", null);

            parser = new ScenarioParser(plugIns);
        }
        public void Init()
        {
            PlugInDataset plugIns = new PlugInDataset();

            plugIns.AddPlugIn("Age-only succession", "succession", null);

            plugIns.AddPlugIn("Null.Disturbance", "disturbance", null);
            plugIns.AddPlugIn("Age-only.Wind", "disturbance:wind", null);
            plugIns.AddPlugIn("Age-only.Fire", "disturbance:fire", null);
            plugIns.AddPlugIn("Harvest", "disturbance:harvest", null);

            plugIns.AddPlugIn("Test.DumpEcoregions", "output", null);
            plugIns.AddPlugIn("Test.DumpSpecies", "output", null);

            parser = new ScenarioParser(plugIns);
        }
Beispiel #9
0
        public void ParseText_ValidSimulationFloatDetails_ReturnsFilledScenarionParser_Simulator()
        {
            string text = "STARTTIME 0.3\n" +
                          "TIMESTEP 1.1\n" +
                          "TIME 500.5\n" +
                          "RANGE 500\n";

            ScenarioParser.ParseText(text);

            float expectedStartTime = 0.3f;
            float expectedTimeStep  = 1.1f;
            float expectedTime      = 500.5f;

            Assert.AreEqual(expectedStartTime, ScenarioParser.Simulator.StartTime, float.Epsilon);
            Assert.AreEqual(expectedTimeStep, ScenarioParser.Simulator.TimeStep, float.Epsilon);
            Assert.AreEqual(expectedTime, ScenarioParser.Simulator.Time, float.Epsilon);
        }
Beispiel #10
0
    // Use this for initialization
    void Start()
    {
        scenarioDetails = new List <ScenarioDetail>();

        scenesFolderPath = Path.Combine(Path.Combine("AssetBundles", BaseLoader.GetPlatformFolderForAssetBundles(Application.platform)), "scenario");

        sceneBundlePaths = Directory.GetFiles(Path.Combine(Application.streamingAssetsPath, scenesFolderPath))
                           .Where(file => file.Substring(file.Length - 8) != "manifest" && file.Substring(file.Length - 4) != "meta").ToList();

        int i = 0;

        foreach (var sceneBundlePath in sceneBundlePaths)
        {
            var sceneListItem = (GameObject)Instantiate(listItemPrefab, transform, false);

            var path = sceneBundlePath.Replace('\\', '/').Split('/');

            var sceneName = path[path.Length - 1];

            var detail = ScenarioParser.ParseScenario(sceneName);

            sceneListItem.transform.Find("Text").GetComponent <Text>().text = detail.Phobia + " : " + detail.Name;

            scenarioDetails.Add(detail);

            //The first scene is selected by default
            if (i == 0)
            {
                selectedSceneName = sceneName;
            }

            int currentIndex = i;
            sceneListItem.GetComponent <Button>().onClick.AddListener(() => {
                selectedSceneName = sceneName;
                detailPanel.ShowScenarioDetail(scenarioDetails[currentIndex]);
            });
            i++;
        }

        if (scenarioDetails.Count > 0)
        {
            detailPanel.ShowScenarioDetail(scenarioDetails[0]);
        }
    }
Beispiel #11
0
        public void ParseText_ValidSimulationIntegerDetails_ReturnsFilledScenarionParser_Simulator()
        {
            string text = "STARTTIME 0\n" +
                          "TIMESTEP 1\n" +
                          "TIME 500\n" +
                          "RANGE 500\n";

            ScenarioParser.ParseText(text);

            float expectedStartTime = 0f;
            float expectedTimeStep  = 1f;
            float expectedTime      = 500f;
            int   expectedRange     = 500;

            Assert.AreEqual(expectedStartTime, ScenarioParser.Simulator.StartTime, float.Epsilon);
            Assert.AreEqual(expectedTimeStep, ScenarioParser.Simulator.TimeStep, float.Epsilon);
            Assert.AreEqual(expectedTime, ScenarioParser.Simulator.Time, float.Epsilon);
            Assert.AreEqual(expectedRange, ScenarioParser.Simulator.Range);
        }
		public void Init()
		{
			parser = new ScenarioParser();

			List<IInfo> plugIns = new List<IInfo>();
			plugIns.Add(new Info("Age-only succession",
			                     typeof(PlugIns.ISuccession),
			                     null));
			string[] disturbancePlugIns = new string[] {"Null.Disturbance",
			                                            "Age-only.Wind",
			                                            "Age-only.Fire",
			                                            "Harvest" };
			foreach (string name in disturbancePlugIns)
				plugIns.Add(new Info(name, typeof(PlugIns.IDisturbance), null));
			string[] outputPlugIns = new string[] {"Test.DumpEcoregions",
			                                       "Test.DumpSpecies" };
			foreach (string name in outputPlugIns)
				plugIns.Add(new Info(name, typeof(PlugIns.IOutput), null));
			PlugIns.Manager.Initialize(plugIns);
		}
Beispiel #13
0
        public void StartNew(string path)
        {
            Stream stream = new Utilities.DecryptStream(File.OpenRead(path));

            mCommandList = ScenarioParser.Parse(stream);
            mCursor      = 0;
            mName        = string.Empty;
            mContext     = string.Empty;
            for (int i = 0; i < 8; i++)
            {
                mIds[i] = null;
                if (mCrtBase[i] != null)
                {
                    mCrtBase[i].Dispose();
                }
                if (mCrtAdditional[i] != null)
                {
                    mCrtAdditional[i].Dispose();
                }
                mCrtBase[i]       = null;
                mCrtAdditional[i] = null;
            }
            mBG      = -1;
            mBGColor = Color.Black;
            ScenarioCommand title = mCommandList[mCursor++];

            if (!(title is TitleCommand)) // no title
            {
                mCursor = 0;
                Title   = null;
                Invalidate();
                return;
            }
            Title = (title as TitleCommand).Title;
            Invalidate();
        }
Beispiel #14
0
 public static void Load()
 {
     _activeScenario = ScenarioParser.Parse(Resources.Load <TextAsset>("Scenario/Scenario"));
 }