/* * Randomly select a type of scenario to generate from all of the options given in the Editor. */ private void CreateScenarios() { for (int i = 0; i < numberOfScenariosToGenerate; i++) { int randomScenarioIndex = UnityEngine.Random.Range(0, possibleScenarios.Count); ScenarioManager selectedScenario = possibleScenarios[randomScenarioIndex]; selectedScenario.centralLocation = new Vector3(i * spacingBetweenScenarios, 0.0f, 0.0f); selectedScenario.BuildScenario(); // TODO: // Use randomly selected scenario index } }
/* * Helps perform steps for building any specific scenario */ private void BuildSpecificScenario <T>() where T : ScenarioManager { for (int i = 0; i < numberOfScenariosToGenerate; i++) { GameObject scenarioParent = new GameObject(); scenarioParent.name = "ScenarioSpecific" + i; scenarioParent.transform.position = new Vector3(spacingBetweenScenarios * i, 0, 0); ScenarioManager currentScenario = scenarioManager.GetComponent <T>(); //ScenarioManager testScenario = new < T >; //Type s1 = typeof(T); //ScenarioManager testtesttest = new T(); //ScenarioManager rampTest = new RampBasicScenario(); currentScenario.SetScenarioParent(scenarioParent); currentScenario.SetScenarioWidth(scenarioWidth); currentScenario.SetScenarioLength(spacingBetweenScenarios); currentScenario.SetRNG(psuedoRandom); currentScenario.BuildScenario(); } }