public void Init(GameObject _pointer, InstantiatorBase _instantiator) { //maybe error prone approach Init((Object)_pointer, _pointer.name, _instantiator); children.Add(GetComponents(_pointer, _instantiator)); children.Add(GetChildren(_pointer, _instantiator)); }
List <ScriptableBase> GetTypes(Assembly assembly, string typeFilter, InstantiatorBase _instantiator) { var types = assembly.GetTypes(). Where(t => t.FullName.Contains(typeFilter)). OrderBy(t => t.FullName). ToList(); var children = new List <ScriptableBase> (); types.ForEach(t => children.Add(ScriptableTypePointer.CreateTypePointer(t, t.Name, _instantiator))); return(children); }
ScriptableHeader GetChildren(GameObject go, InstantiatorBase _instantiator) { var scriptableChildren = new List <ScriptableBase> (); foreach (var child in go.transform.Cast <Object>()) { var scriptableChild = ScriptableObject.CreateInstance <ScriptableObjectPointer> (); scriptableChild.Init(child, child.name, _instantiator); scriptableChildren.Add(scriptableChild); } return(ScriptableHeader.CreateHeader("Children", scriptableChildren)); }
static ScriptableHeader CreateScriptableMethods(Object _obj, Type type, InstantiatorBase _instantiator) { var methodDictionary = GetMethodDictionary(type); var scriptableMethods = new List <ScriptableBase> (); foreach (var kvp in methodDictionary) { var scriptableMethod = ScriptableObject.CreateInstance <ScriptableMethod> (); scriptableMethod.Init(_obj, kvp.Value); scriptableMethod.AddDelegate(_instantiator); scriptableMethods.Add(scriptableMethod); } return(ScriptableHeader.CreateHeader("Methods", scriptableMethods)); }
ScriptableHeader GetComponents(GameObject go, InstantiatorBase _instantiator) { var scriptableComponents = new List <ScriptableBase> (); foreach (var component in go.GetComponents <Component>()) { //mesh is not instantiated until play so these cause trouble if (component is MeshFilter || component is MeshRenderer) { continue; } var scriptableComponent = ScriptableObject.CreateInstance <ScriptableObjectPointer> (); var sName = Utilities.ObjectTypeToString(component); scriptableComponent.Init(component, sName, _instantiator); scriptableComponents.Add(scriptableComponent); } return(ScriptableHeader.CreateHeader("Components", scriptableComponents)); }
//obj will be null for static types static ScriptableHeader CreateScriptableProperty(Object obj, Type type, InstantiatorBase _instantiator) { var scriptableProperties = new List <ScriptableBase> (); foreach (var property in type.GetProperties().OrderBy(p => p.Name)) { if (!validProperty(property)) { continue; } var scriptableProperty = ScriptableObject.CreateInstance <ScriptableProperty> (); scriptableProperty.Init(obj, property); if (scriptableProperty.isInstantiatable) { scriptableProperties.Add(scriptableProperty); scriptableProperty.AddDelegate(_instantiator); } } return(ScriptableHeader.CreateHeader("Properties", scriptableProperties)); }
public static ScriptableHeader GetAssemblies(string _assemblyFilter, string _typeFilter, InstantiatorBase _instantiator) { var assemblies = AppDomain.CurrentDomain.GetAssemblies(). Where(a => a.FullName.Contains(_assemblyFilter)). OrderBy(a => a.FullName). ToList(); var children = new List <ScriptableBase> (); assemblies.ForEach(a => children.Add(CreateAssembly(a, _typeFilter, _instantiator))); return(ScriptableHeader.CreateHeader("Assemblies", children)); }
//static int maxTypes = 100; public void Init(Assembly assembly, string typeFilter, InstantiatorBase _instantiator) { base.Init(Utilities.FullNameToString(assembly.FullName)); children = GetTypes(assembly, typeFilter, _instantiator); }
public static ScriptableTypePointer CreateTypePointer (Type _type, string _name, InstantiatorBase _instantiator) { var typePointer = ScriptableObject.CreateInstance<ScriptableTypePointer> (); typePointer.Init (_type, _name, _instantiator); return typePointer; }
public void Init (Type _type, string _name, InstantiatorBase _instantiator) { base.Init (_name); children.Add (ScriptableProperty.GetTypeProperties (_type, _instantiator)); children.Add (ScriptableMethod.GetTypeMethods (_type, _instantiator)); }
public static ScriptableHeader GetObjectProperties(Object obj, InstantiatorBase _instantiator) { return(CreateScriptableProperty(obj, obj.GetType(), _instantiator)); }
public void Init(Object _pointer, string _name, InstantiatorBase _instantiator) { base.Init(_name); children.Add(ScriptableProperty.GetObjectProperties(_pointer, _instantiator)); children.Add(ScriptableMethod.GetObjectMethods(_pointer, _instantiator)); }
public static ScriptableGameObjectPointer CreateGameObjectPointer(GameObject _pointer, InstantiatorBase _instantiator) { var goPointer = ScriptableObject.CreateInstance <ScriptableGameObjectPointer> (); goPointer.Init(_pointer, _instantiator); return(goPointer); }
public void AddDelegate(InstantiatorBase _instantiator) { instantiate += new InstantiateHandler(_instantiator.InstantiateListener); }
static ScriptableAssembly CreateAssembly(Assembly assembly, string typeFilter, InstantiatorBase _instantiator) { var scriptableAssembly = ScriptableObject.CreateInstance <ScriptableAssembly> (); scriptableAssembly.Init(assembly, typeFilter, _instantiator); return(scriptableAssembly); }
public static ScriptableHeader GetObjectMethods(Object _obj, InstantiatorBase _instantiator) { return(CreateScriptableMethods(_obj, _obj.GetType(), _instantiator)); }
public static ScriptableHeader GetTypeMethods(Type type, InstantiatorBase _instantiator) { return(CreateScriptableMethods(null, type, _instantiator)); }
public static ScriptableObjectPointer CreateObjectPointer(Object _pointer, string _name, InstantiatorBase _instantiator) { var objPointer = ScriptableObject.CreateInstance <ScriptableObjectPointer> (); objPointer.Init(_pointer, _name, _instantiator); return(objPointer); }
public static ScriptableHeader GetTypeProperties(Type type, InstantiatorBase _instantiatorr) { return(CreateScriptableProperty(null, type, _instantiatorr)); }