示例#1
0
    public override void ShowDialog()
    {
        base.ShowDialog();

        // Get list of files in save location
        string saveDirectoryPath = GameController.Instance.FileSaveBasePath();

        EnsureDirectoryExists(saveDirectoryPath);

        DirectoryInfo saveDir = new DirectoryInfo(saveDirectoryPath);

        FileInfo[] saveGames = saveDir.GetFiles("*.sav").OrderByDescending(f => f.LastWriteTime).ToArray();

        // Our save dialog has an input field, which the fileListItems fill out for
        // us when we click on them
        InputField inputField = gameObject.GetComponentInChildren <InputField>();

        // Build file list by instantiating fileListItemPrefab
        for (int i = 0; i < saveGames.Length; i++)
        {
            FileInfo   file = saveGames[i];
            GameObject go   = (GameObject)GameObject.Instantiate(fileListItemPrefab);

            // Make sure this GameObject is a child of our list box
            go.transform.SetParent(fileList);

            // file contains something like "C:\Users\UserName\......\Project Porcupine\Saves\SomeFileName.sav"
            // Path.GetFileName(file) returns "SomeFileName.sav"
            // Path.GetFileNameWithoutExtension(file) returns "SomeFileName"
            string fileName = Path.GetFileNameWithoutExtension(file.FullName);

            go.GetComponentInChildren <Text>().text = string.Format("{0}\n<size=11><i>{1}</i></size>", fileName, file.LastWriteTime);

            DialogListItem listItem = go.GetComponent <DialogListItem>();
            listItem.fileName     = fileName;
            listItem.inputField   = inputField;
            listItem.currentColor = i % 2 == 0 ? ListPrimaryColor : ListSecondaryColor;

            go.GetComponent <Image>().color = listItem.currentColor;
        }

        // Set scroll sensitivity based on the save-item count
        fileList.GetComponentInParent <ScrollRect>().scrollSensitivity = fileList.childCount / 2;

        fileList.GetComponent <AutomaticVerticalSize>().AdjustSize();
    }
示例#2
0
    public override void ShowDialog()
    {
        base.ShowDialog();
        Height.onEndEdit.AddListener(delegate { VerifyNumericInput(Height); });
        Width.onEndEdit.AddListener(delegate { VerifyNumericInput(Width); });
        Depth.onEndEdit.AddListener(delegate { VerifyNumericInput(Depth); });

        // Generate Random Seed TODO: make it alphanumerical
        Seed.text = UnityEngine.Random.Range(int.MinValue, int.MaxValue).ToString();

        // Get list of files in save location
        string generatorDirectoryPath = GameController.Instance.GeneratorBasePath();

        DirectoryInfo generatorDir = new DirectoryInfo(generatorDirectoryPath);

        FileInfo[] worldGenerators = generatorDir.GetFiles("*.xml").OrderBy(f => f.Name).ToArray();

        for (int i = 0; i < worldGenerators.Length; i++)
        {
            FileInfo   file = worldGenerators[i];
            GameObject go   = (GameObject)GameObject.Instantiate(generatorListItemPrefab);

            // Make sure this GameObject is a child of our list box
            go.transform.SetParent(generatorList);

            // file contains something like "C:\Users\UserName\......\Project Porcupine\Saves\SomeFileName.sav"
            // Path.GetFileName(file) returns "SomeFileName.sav"
            // Path.GetFileNameWithoutExtension(file) returns "SomeFileName"
            string fileName = Path.GetFileNameWithoutExtension(file.FullName);

            go.GetComponentInChildren <Text>().text = string.Format("{0}\n<size=11><i>{1}</i></size>", fileName, file.LastWriteTime);

            DialogListItem listItem = go.GetComponent <DialogListItem>();
            listItem.fileName     = fileName;
            listItem.inputField   = GeneratorInputField;
            listItem.currentColor = i % 2 == 0 ? ListPrimaryColor : ListSecondaryColor;

            go.GetComponent <Image>().color = listItem.currentColor;
        }

        // Set scroll sensitivity based on the save-item count
        generatorList.GetComponentInParent <ScrollRect>().scrollSensitivity = generatorList.childCount / 2;

        generatorList.GetComponent <AutomaticVerticalSize>().AdjustSize();
    }
    public override void ShowDialog()
    {
        base.ShowDialog();

        // Get list of files in save location
        string saveDirectoryPath = WorldController.Instance.FileSaveBasePath();

        EnsureDirectoryExists(saveDirectoryPath);

        DirectoryInfo saveDir = new DirectoryInfo(saveDirectoryPath);


        FileInfo[] saveGames = saveDir.GetFiles().OrderByDescending(f => f.CreationTime).ToArray();

        // Our save dialog has an input field, which the fileListItems fill out for
        // us when we click on them
        InputField inputField = gameObject.GetComponentInChildren <InputField>();

        // Build file list by instantiating fileListItemPrefab

        for (int i = 0; i < saveGames.Length; i++)
        {
            FileInfo   file = saveGames[i];
            GameObject go   = (GameObject)GameObject.Instantiate(fileListItemPrefab);

            // Make sure this gameobject is a child of our list box
            go.transform.SetParent(fileList);

            // file contains something like "C:\Users\UserName\......\Project Porcupine\Saves\SomeFileName.sav"
            // Path.GetFileName(file) returns "SomeFileName.sav"
            // Path.GetFileNameWithoutExtension(file) returns "SomeFileName"

            string fileName = Path.GetFileNameWithoutExtension(file.FullName);

            go.GetComponentInChildren <Text>().text = string.Format("{0}\n<size=11><i>{1}</i></size>", fileName, file.CreationTime);

            DialogListItem listItem = go.GetComponent <DialogListItem>();
            listItem.fileName   = fileName;
            listItem.inputField = inputField;

            go.GetComponent <Image>().color = (i % 2 == 0 ? Color.white : secondaryColor);
        }
    }