Esempio n. 1
0
    void Awake()
    {
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible   = true;

        if (ParameterManager.HasInstance())
        {
            backgroundScript.SetRotation(ParameterManager.Instance.BackgroundRotation);
            if (ParameterManager.Instance.Version == ParameterManager.BuildVersion.COMPLETE)
            {
                SetExitButton(false);
            }
            else
            {
                SetExitButton(true);
            }
        }
        else
        {
            SetExitButton(true);
        }

        if (Application.platform != RuntimePlatform.WebGLPlayer)
        {
            offlineExperimentButton.interactable  = true;
            completeExperimentButton.interactable = true;
            directoryButton.interactable          = true;
            downloadAllButton.interactable        = true;
            downloadDirectory = Application.persistentDataPath + "/Downloads";
            if (!Directory.Exists(downloadDirectory))
            {
                Directory.CreateDirectory(downloadDirectory);
            }
        }
    }
Esempio n. 2
0
    public override void ManageMap(bool assembleMap)
    {
        if (loadMapFromFile)
        {
            // Load the map.
            LoadMapFromText();
            // Flip the map if needed.
            if (flip)
            {
                map = MapEdit.FlipMap(map);
            }
        }
        else
        {
            // Generate the map.
            if (ParameterManager.HasInstance())
            {
                map = mapGeneratorScript.GenerateMap(seed, export, exportPath);
            }
            else
            {
                map = mapGeneratorScript.GenerateMap();
            }
        }

        if (assembleMap)
        {
            // Assemble the map.
            mapAssemblerScript.AssembleMap(map, mapGeneratorScript.GetWallChar(),
                                           mapGeneratorScript.GetRoomChar());
            // Displace the objects.
            objectDisplacerScript.DisplaceObjects(map, mapAssemblerScript.GetSquareSize(),
                                                  mapAssemblerScript.GetWallHeight());
        }
    }
Esempio n. 3
0
 // Loads the next scene
 private void LoadNextScene(string def)
 {
     if (ExperimentManager.HasInstance() && ParameterManager.HasInstance())
     {
         ExperimentManager.Instance.LoadNextScene();
     }
     else
     {
         SceneManager.LoadScene(def);
     }
 }
    void Start()
    {
        if (ParameterManager.HasInstance())
        {
            backgroundScript.SetRotation(ParameterManager.Instance.BackgroundRotation);

            SetErrorMessage(ParameterManager.Instance.ErrorCode,
                            ParameterManager.Instance.ErrorMessage);
            ParameterManager.Instance.ErrorCode = 0;
        }
    }
    public override void ManageMap(bool assembleMap)
    {
        if (loadMapFromFile)
        {
            // Load the map.
            LoadMapFromText();
        }
        else
        {
            List <string> partialGenomes = new List <string>();

            // Generate the map.
            mapGeneratorScript.SaveMapSize();
            for (int i = 0; i < levelsCount; i++)
            {
                if (ParameterManager.HasInstance())
                {
                    maps.Add(mapGeneratorScript.GenerateMap(seed + i, export));
                }
                else
                {
                    maps.Add(mapGeneratorScript.GenerateMap());
                }
                if (export)
                {
                    partialGenomes.Add(mapGeneratorScript.ConvertMapToAB(false));
                }
                mapGeneratorScript.ResetMapSize();
            }
            // Add the stairs.
            stairsGeneratorScript.GenerateStairs(maps, mapGeneratorScript);
            // Save the map.
            if (export)
            {
                AddTilesToGenomes(partialGenomes);
                SaveMLMapAsAB(partialGenomes);
                SaveMLMapAsText();
            }
        }

        if (assembleMap)
        {
            // Assemble the map.
            mapAssemblerScript.AssembleMap(maps, mapGeneratorScript.GetWallChar(),
                                           mapGeneratorScript.GetRoomChar(), stairsGeneratorScript.GetVoidChar());
            // Displace the objects.
            for (int i = 0; i < maps.Count; i++)
            {
                objectDisplacerScript.DisplaceObjects(maps[i], mapAssemblerScript.GetSquareSize(),
                                                      mapAssemblerScript.GetWallHeight() * i);
            }
        }
    }
    void Awake()
    {
        if (ParameterManager.HasInstance())
        {
            logOnline  = ParameterManager.Instance.LogOnline;
            logOffline = ParameterManager.Instance.LogOffline;
        }

        if (!ExperimentManager.HasInstance())
        {
            ExperimentManager.Instance.Setup(tutorial, playTutorial, studies, casesPerUsers,
                                             experimentName, survey, playSurvey, logOffline, logOnline, logGame, logStatistics);
        }
    }
Esempio n. 7
0
    void Start()
    {
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible   = true;

        if (ParameterManager.HasInstance())
        {
            backgroundScript.SetRotation(ParameterManager.Instance.BackgroundRotation);

            SetErrorMessage(ParameterManager.Instance.ErrorCode,
                            ParameterManager.Instance.ErrorMessage);
            ParameterManager.Instance.ErrorCode = 0;
        }
    }
Esempio n. 8
0
    // Extracts the parameters from the parameter Manager, if any.
    protected void ExtractParametersFromManager()
    {
        if (ParameterManager.HasInstance())
        {
            export     = ParameterManager.Instance.Export;
            exportPath = ParameterManager.Instance.ExportPath;
            flip       = ParameterManager.Instance.Flip;

            switch (ParameterManager.Instance.GenerationMode)
            {
            case 0:
                loadMapFromFile = false;
                seed            = ParameterManager.Instance.MapDNA;
                break;

            case 1:
                loadMapFromFile = false;
                seed            = ParameterManager.Instance.MapDNA;
                break;

            case 2:
                loadMapFromFile = true;
                seed            = null;
                textFilePath    = ParameterManager.Instance.MapDNA;
                break;

            case 3:
                loadMapFromFile = false;
                seed            = ParameterManager.Instance.MapDNA;
                textFilePath    = ParameterManager.Instance.MapDNA;
                break;

            case 4:
                loadMapFromFile = true;
                seed            = ParameterManager.Instance.MapDNA;
                textFilePath    = null;
                break;
            }
        }
    }
Esempio n. 9
0
    void Start()
    {
        Cursor.lockState = CursorLockMode.None;

        if (ParameterManager.HasInstance())
        {
            backgroundScript.SetRotation(ParameterManager.Instance.BackgroundRotation);
            if (ParameterManager.Instance.Version == ParameterManager.BuildVersion.COMPLETE ||
                ParameterManager.Instance.Version ==
                ParameterManager.BuildVersion.EXPERIMENT_CONTROL)
            {
                SetExitButton(false);
            }
            else
            {
                SetExitButton(true);
            }
        }
        else
        {
            SetExitButton(true);
        }
    }
Esempio n. 10
0
    public void Start()
    {
        Cursor.lockState = CursorLockMode.None;

        if (ParameterManager.HasInstance())
        {
            if (ParameterManager.Instance.Version == ParameterManager.BuildVersion.COMPLETE)
            {
                experimentButton.interactable = true;
            }
            backgroundScript.SetRotation(ParameterManager.Instance.BackgroundRotation);
        }

        openedSection = main;

        exportSP.isOn = false;
        exportMP.isOn = false;

        if (Application.platform == RuntimePlatform.WebGLPlayer)
        {
            // Hide the quitButton button.
            quitButton.interactable = false;
            // Disable all the import/export.
            allowIO = false;
            exportSP.interactable = false;
            exportTextSP.color    = exportSP.GetComponent <Toggle>().colors.disabledColor;
            exportMP.interactable = false;
            exportTextMP.color    = exportMP.GetComponent <Toggle>().colors.disabledColor;
        }
        else
        {
            allowIO    = true;
            importPath = Application.persistentDataPath + "/Import";
            exportPath = Application.persistentDataPath + "/Export";
            // Create the import directory if needed.
            if (!Directory.Exists(importPath))
            {
                Directory.CreateDirectory(importPath);
            }
            // Create the export directory if needed.
            if (!Directory.Exists(exportPath))
            {
                Directory.CreateDirectory(exportPath);
            }
        }

        if (Application.platform == RuntimePlatform.WindowsPlayer)
        {
            importButton.SetActive(true);
            exportButton.SetActive(true);
        }
        else
        {
            import.SetActive(true);
            export.SetActive(true);
            if (allowIO)
            {
                import.GetComponent <Text>().text = "Import folder: " + importPath;
                export.GetComponent <Text>().text = "Export folder: " + exportPath;
            }
            else
            {
                import.GetComponent <Text>().text = "The import folder is not available.";
                export.GetComponent <Text>().text = "The export folder is not available.";
            }
        }
    }
    public override void ManageMap(bool assembleMap)
    {
        if (loadMapFromFile)
        {
            // Load the map.
            LoadMapFromText();
        }
        else
        {
            // Extract the genomes.
            List <Genome> genomes = ExtractGenomes(seed);
            // Initialize the generation mode list.
            usesDiggerGeneratorList = new List <bool>();
            // Generate the map.
            for (int i = 0; i < genomes.Count; i++)
            {
                mapGeneratorScript.ResetMapSize();
                if (ParameterManager.HasInstance())
                {
                    if (genomes[i].useDefaultGenerator)
                    {
                        maps.Add(mapGeneratorScript.GenerateMap(genomes[i].genome, false, null));
                        usesDiggerGeneratorList.Add(false);
                    }
                    else
                    {
                        if (i > 0)
                        {
                            maps.Add(diggerGeneratorScript.GenerateMap(genomes[i].genome,
                                                                       maps[i - 1].GetLength(0), maps[i - 1].GetLength(1), false, null));
                        }
                        else
                        {
                            maps.Add(diggerGeneratorScript.GenerateMap(genomes[i].genome, false,
                                                                       null));
                        }
                        usesDiggerGeneratorList.Add(true);
                    }
                }
                else
                {
                    maps.Add(mapGeneratorScript.GenerateMap());
                    usesDiggerGeneratorList.Add(false);
                }
                mapGeneratorScript.ResetMapSize();
            }
            // Resize all the maps.
            ResizeAllMaps();
            // Add the stairs.
            stairsGeneratorScript.GenerateStairs(maps, usesDiggerGeneratorList, mapGeneratorScript,
                                                 GenomeHasObjects(seed));
            // Save the map.
            if (export)
            {
                seed = seed.GetHashCode().ToString();
                SaveMLMapAsText();
            }
        }

        if (assembleMap)
        {
            // Assemble the map.
            mapAssemblerScript.AssembleMap(maps, mapGeneratorScript.GetWallChar(),
                                           mapGeneratorScript.GetRoomChar(), stairsGeneratorScript.GetVoidChar());
            // Displace the objects.
            for (int i = 0; i < maps.Count; i++)
            {
                objectDisplacerScript.DisplaceObjects(maps[i], mapAssemblerScript.GetSquareSize(),
                                                      mapAssemblerScript.GetWallHeight() * i);
            }
        }
    }
Esempio n. 12
0
    public override void ManageMap(bool assembleMap)
    {
        if (loadMapFromFile)
        {
            // Load the map.
            LoadMapFromText();
            // Flip the map if needed.
            if (flip && !isNumeric)
            {
                map = MapEdit.FlipMap(map);
            }
        }
        else
        {
            // Generate the map.
            if (ParameterManager.HasInstance())
            {
                map = mapGeneratorScript.GenerateMap(seed, export, exportPath);
            }
            else
            {
                map = mapGeneratorScript.GenerateMap();
            }
        }

        if (assembleMap)
        {
            if (!isNumeric)
            {
                // Assemble the map.
                mapAssemblerScript.AssembleMap(map, mapGeneratorScript.GetWallChar(),
                                               mapGeneratorScript.GetRoomChar());
                // Displace the objects.
                objectDisplacerScript.DisplaceObjects(map, mapAssemblerScript.GetSquareSize(),
                                                      mapAssemblerScript.GetWallHeight());
            }
            else
            {
                //Assemble the map
                mapAssemblerScript.AssembleMap(numeric_map, mapGeneratorScript.GetWallNumb(), mapGeneratorScript.GetRoomNumb());

                // Displace the objects
                objectDisplacerScript.DisplaceObjects(numeric_map, mapAssemblerScript.GetSquareSize(), mapAssemblerScript.GetWallHeight());
            }
        }

        float floorSize = mapAssemblerScript.GetSquareSize();

        if (robot != null)
        {
            if (!isNumeric)
            {
                robot.SetMap(map, floorSize);
            }
            else
            {
                robot.SetMap(numeric_map, floorSize);
            }
        }
        if (player)
        {
            player.SetSquareSize(floorSize);
        }
    }