protected static GeneratorEditor PopulateGenSettings() { var f = GenDataBase.DataLoader.LoadData("data/GeneratorEditor").AsDef(); var d = new GenDataBase(f); var model = new GeneratorEditor(d) { GenObject = d.Root }; model.SaveFields(); var settings = new GenSettings(d) { GenObject = CreateGenObject(d.Root, "GenSettings"), HomeDir = "." }; model.GenSettingsList.Add(settings); settings.AddBaseFile("Minimal", "Minimal.dcb", "Data", "The simplest definition required by the generator", ".dcb"); settings.AddBaseFile("Definition", "Definition.dcb", "Data", "The definition required by the editor", ".dcb"); var baseFile = settings.AddBaseFile("ProgramDefinition", "ProgramDefinition.dcb", "Data", "Defines generator editor data models", ".dcb"); baseFile.AddProfile("GenProfileModel", "GenProfileModel.prf", "Data"); settings.AddBaseFile("GeneratorEditor", "GeneratorEditor.dcb", "Data", "Defines generator editor settings data", ".dcb"); settings.AddFileGroup("Minimal", "Minimal.dcb", "Data", "Definition"); settings.AddFileGroup("Basic", "Basic.dcb", "Data", "Definition"); settings.AddFileGroup("Definition", "Definition.dcb", "Data", "Definition"); settings.AddFileGroup("ProgramDefinition", "ProgramDefinition.dcb", "Data", "Definition"); settings.AddFileGroup("GeneratorEditor", "GeneratorEditor.dcb", "Data", "Definition"); settings.AddFileGroup("GeneratorDefinitionModel", "GeneratorDefinitionModel.dcb", "Data", "ProgramDefinition", "GenProfileModel"); return(model); }
public GenSettings AddGenSettings(string homeDir = "") { var item = new GenSettings(GenDataBase) { GenObject = GenDataBase.Root.CreateGenObject("GenSettings"), HomeDir = homeDir }; GenSettingsList.Add(item); return(item); }
/// <summary> /// The class constructor. </summary> /// <param name="fileconfig">Database config filepath.</param> public DriverConfig(string fileconfig) { //Index for loops. int i; string sectName; //Reset the flag isInitialized = false; try { DriverConfigMap = new ExeConfigurationFileMap(); DriverConfigMap.ExeConfigFilename = fileconfig; DriverConfigFile = ConfigurationManager.OpenMappedExeConfiguration(DriverConfigMap, ConfigurationUserLevel.None); //Open the General definitions in the config file. //GenDriverConf = new GeneralDriver("GeneralDriver", DriverConfigFile); GenDriverConf = (GeneralDriver)DriverConfigFile.GetSection("GeneralDriver"); //Variable to keep the General data. GeneralSett = new GenSettings(); GeneralSett.cDrivers = GenDriverConf.CountDrivers; GeneralSett.cDataAreas = GenDriverConf.CountDataAreas; DriversConf = new DriverConf[GeneralSett.cDrivers]; DataAreasConf = new DataAreaConf[GeneralSett.cDataAreas]; //Get Drivers Info for (i = 1; i <= GeneralSett.cDrivers; i++) { sectName = "Driver_" + i.ToString("00"); //DriversConf[i] = new DriverConf(sectName, DriverConfigFile); DriversConf[(i - 1)] = (DriverConf)DriverConfigFile.GetSection(sectName); } //Get Data Areas Info for (i = 1; i <= GeneralSett.cDataAreas; i++) { sectName = "DataArea_" + i.ToString("00"); //DataAreasConf[i] = new DataAreaConf(sectName, DriverConfigFile); DataAreasConf[(i - 1)] = (DataAreaConf)DriverConfigFile.GetSection(sectName); } if ((GeneralSett.cDrivers > 0)) { isInitialized = true; } } catch (Exception e) { MessageBox.Show(e.Message); } }//END DriverConfig Class Constructor
// Start is called before the first frame update void Awake() { Time.timeScale = 1; GenSettings settings = GameObject.Find("Settings").GetComponent <GenSettings>(); maxRooms = settings.maxRooms; this.seed = settings.seedVal; Destroy(settings.gameObject); Random.InitState(seed); //Setup and spawn initial room grid = new Dictionary <Vector3, Transform>(); roomsToProcess = new List <Room>(); actualRooms = new List <GameObject>(); foreach (Material m in roomColours) { m.SetColor("_Color", Random.ColorHSV()); } for (int i = 0; i < refMats.Length; i++) { copyMats[i].color = refMats[i].color; } //Spawn initial room GameObject roomToSpawn = spawnRooms[(int)Random.Range(0, spawnRooms.Count)]; GameObject newRoomObj = Instantiate(roomToSpawn, transform.position, transform.rotation) as GameObject; Room currRoom = newRoomObj.GetComponent <Room>(); fillGrid(currRoom.getVoxels()); if (currRoom.getNumOpenExits() > 0) { roomsToProcess.Add(currRoom); } actualRooms.Add(newRoomObj); var stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); generateMap(); stopwatch.Stop(); Debug.Log("Time taken: " + stopwatch.ElapsedMilliseconds); }