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));
 }
Exemple #2
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #6
0
        //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));
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        //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));
		}
Exemple #11
0
 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);
 }
Exemple #15
0
        static ScriptableAssembly CreateAssembly(Assembly assembly, string typeFilter, InstantiatorBase _instantiator)
        {
            var scriptableAssembly = ScriptableObject.CreateInstance <ScriptableAssembly> ();

            scriptableAssembly.Init(assembly, typeFilter, _instantiator);
            return(scriptableAssembly);
        }
Exemple #16
0
 public static ScriptableHeader GetObjectMethods(Object _obj, InstantiatorBase _instantiator)
 {
     return(CreateScriptableMethods(_obj, _obj.GetType(), _instantiator));
 }
Exemple #17
0
 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);
        }
Exemple #19
0
 public static ScriptableHeader GetTypeProperties(Type type, InstantiatorBase _instantiatorr)
 {
     return(CreateScriptableProperty(null, type, _instantiatorr));
 }