|
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.IO;
- using UnityEngine;
-
- namespace Dissonance.Inspector
- {
- public class ObjectInspector
- {
- public static void Log<T>() where T : UnityEngine.Object
- {
- Instance[] instances = Inspect<T>();
- string[] filelines = new string[instances.Length];
- for (int i = 0; i < instances.Length; i++)
- {
- filelines[i] = instances[i].ToString() + ",";
- }
- Debug.Log("ObjectInspector Log dump\n["+string.Join(",\n", filelines)+"]");
- }
-
- public static void LogNames<T>() where T : UnityEngine.Object
- {
- Debug.Log(string.Join("\n", InspectNames<T>()));
- }
-
- public static void LogAll()
- {
- Log<UnityEngine.Object>();
- }
-
- public static void LogNamesAll()
- {
- LogNames<UnityEngine.Object>();
- }
-
- public static void Dump<T>(string filename) where T : UnityEngine.Object
- {
- Instance[] instances = Inspect<T>();
- string[] filelines = new string[instances.Length];
- for (int i = 0; i < instances.Length; i++)
- {
- filelines[i] = instances[i].ToString()+",";
- }
- File.WriteAllLines(filename, filelines);
- }
-
- public static void DumpNames<T>(string filename) where T : UnityEngine.Object
- {
- File.WriteAllLines(filename, InspectNames<T>());
- }
-
- public static void DumpAll(string filename)
- {
- Dump<UnityEngine.Object>(filename);
- }
-
- public static void DumpNamesAll(string filename)
- {
- DumpNames<UnityEngine.Object>(filename);
- }
-
- public static Instance[] Inspect<T>() where T : UnityEngine.Object
- {
- T[] objects = UnityEngine.Object.FindObjectsOfType<T>();
- Instance[] instances = new Instance[objects.Length];
- for (int i = 0; i < objects.Length; i++)
- {
- instances[i] = new Instance(objects[i]);
- }
- return instances;
- }
-
- public static string[] InspectNames<T>() where T : UnityEngine.Object
- {
- T[] objects = UnityEngine.Object.FindObjectsOfType<T>();
- string[] names = new string[objects.Length];
- for(int i = 0; i < objects.Length; i++)
- {
- names[i] = objects[i].name;
- }
- return names;
- }
- }
- }
|