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(); }
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); } }