public string[] GetNthLocationItems(int n) { string location = GetNthLocation(n); return(ItemPlacements.Where(pair => pair.Item2 == location).Select(pair => pair.Item1).ToArray()); }
public HashSet <string> GetPlacedItems() { return(new HashSet <string>(ItemPlacements.Select(pair => pair.Item1))); }
// public Sprite[] SpriteArray = {}; void OnGUI() { // The actual window code goes here GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("CSV File", GUILayout.Width(128)); fileToLoad = (TextAsset)EditorGUILayout.ObjectField(fileToLoad, typeof(TextAsset), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Collider JS File", GUILayout.Width(128)); colliderFile = (TextAsset)EditorGUILayout.ObjectField(colliderFile, typeof(TextAsset), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Parent Transform", GUILayout.Width(128)); parentTransform = (Transform)EditorGUILayout.ObjectField(parentTransform, typeof(Transform), true, GUILayout.Width(128)); if (parentTransform != null) { parentTransform.position = new Vector3(0, 0, 0); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("SpritePrefab", GUILayout.Width(128)); spriteBase = (GameObject)EditorGUILayout.ObjectField(spriteBase, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("ColliderPrefab", GUILayout.Width(128)); colliderBase = (GameObject)EditorGUILayout.ObjectField(colliderBase, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("OptionalPrefab", GUILayout.Width(128)); optionalBase = (GameObject)EditorGUILayout.ObjectField(optionalBase, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("DoorPrefab", GUILayout.Width(128)); doorPrefab = (GameObject)EditorGUILayout.ObjectField(doorPrefab, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Generate Tilemap", GUILayout.Width(128))) { if (fileToLoad != null) { tileMapping = CSVLoader.ParseCSV(fileToLoad); Debug.Log(allSprites.Length); GenerateTiles(); } } if (GUILayout.Button("Generate Colliders", GUILayout.Width(128))) { if (colliderFile != null) { GenerateColliders(colliderFile); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Find Platforms", GUILayout.Width(128))) { if (fileToLoad != null) { ItemPlacements items = parentTransform.gameObject.AddComponent <ItemPlacements> (); tileMapping = CSVLoader.ParseCSV(fileToLoad); items.FindItemPlacements(tileMapping); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("TMX File", GUILayout.Width(128)); tmxFile = (TextAsset)EditorGUILayout.ObjectField(tmxFile, typeof(TextAsset), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Base Layer", GUILayout.Width(128)); baseLayerName = (string)EditorGUILayout.TextField(baseLayerName, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Collider Layer", GUILayout.Width(128)); colliderLayerName = (string)EditorGUILayout.TextField(colliderLayerName, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Optional Tile Layer", GUILayout.Width(128)); optionalLayerName = (string)EditorGUILayout.TextField(optionalLayerName, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Enemy Layer", GUILayout.Width(128)); enemyLayerName = (string)EditorGUILayout.TextField(enemyLayerName, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("FireDinoEnemy Prefab", GUILayout.Width(128)); fireDino = (GameObject)EditorGUILayout.ObjectField(fireDino, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("SquishSlime Prefab", GUILayout.Width(128)); squishSlime = (GameObject)EditorGUILayout.ObjectField(squishSlime, typeof(GameObject), true, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Door Layer", GUILayout.Width(128)); doorLayerName = (string)EditorGUILayout.TextField(doorLayerName, GUILayout.Width(128)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Parse TMX", GUILayout.Width(128))) { if (tmxFile != null) { //ItemPlacements items = parentTransform.gameObject.AddComponent<ItemPlacements> (); //tileMapping = CSVLoader.ParseCSV (fileToLoad); //items.FindItemPlacements (tileMapping); var map = new TmxMap("Assets/Levels/" + tmxFile.name + ".xml"); // var objectLayer = map.Tilesets["Tile Layer 1"]; //Debug.Log (map.Tilesets); GenerateTiles(map); } } GUILayout.EndHorizontal(); if (!Directory.Exists(Application.dataPath + "/Tilemaps/")) { //Directory.CreateDirectory(Application.dataPath + "/Tilemaps/"); AssetDatabase.CreateFolder("Assets", "Tilemaps"); AssetDatabase.Refresh(); Debug.Log("Created Tilemaps Directory"); } files = Directory.GetFiles(Application.dataPath + "/Tilemaps/", "*.png"); options = new string[files.Length]; EditorGUILayout.LabelField("Tile Map", GUILayout.Width(256)); for (int i = 0; i < files.Length; i++) { options[i] = files[i].Replace(Application.dataPath + "/Tilemaps/", ""); } index = EditorGUILayout.Popup(index, options, GUILayout.Width(256)); allSprites = AssetDatabase.LoadAllAssetsAtPath("Assets/Tilemaps/" + options[index]).Select(x => x as Sprite).Where(x => x != null).ToArray(); }