Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public GenSettings AddGenSettings(string homeDir = "")
        {
            var item = new GenSettings(GenDataBase)
            {
                GenObject = GenDataBase.Root.CreateGenObject("GenSettings"),
                HomeDir   = homeDir
            };

            GenSettingsList.Add(item);
            return(item);
        }
Ejemplo n.º 3
0
        /// <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
Ejemplo n.º 4
0
    // 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);
    }