public static void CreateGoogleMachineAsset() { GoogleMachine inst = ScriptableObject.CreateInstance <GoogleMachine>(); string path = AssemblyReflectionHelper.GetUniqueAssetPathNameOrFallback(BaseMachine.ImportSettingFilename); AssetDatabase.CreateAsset(inst, path); AssetDatabase.SaveAssets(); Selection.activeObject = inst; }
public static IDataEditorStorage LoadAllPrividers(IDataEditorStorage storage = null) { storage = storage ?? new LocalDataBoxStorage(); AssemblyReflectionHelper.AllDataBox().ForEach(provider => { storage.RegisterProvider(provider); }); return(storage); }
public virtual void Reset(Type library) { NameLibrary = library.Name; var temp = AssemblyReflectionHelper.GetInfoMethodsPack <Action>(library); if (!temp.ContainsKey("None")) { temp.Add("None", "None"); } candidatesMethods = temp.Keys.Distinct().Reverse().ToArray(); }
public override void OnInspectorGUI() { switch (_state) { case StateGenerate.None: { if (GUILayout.Button("Create")) { _state = StateGenerate.ChooseType; } if (GUILayout.Button("Check")) { AssemblyReflectionHelper.GetAllTypesInSolution <DataBox>().Where(t => !t.IsAbstract && !t.IsGenericType).ForEach(t => { CreateAsset(t); }); _allProviders = AssemblyReflectionHelper.AllDataBox().ToList(); RefreshView(); } break; } case StateGenerate.ChooseType: EditorGUILayout.BeginVertical(); DrawChooseType(); EditorGUILayout.EndVertical(); break; case StateGenerate.Generating: { _allGenerators.ForEach(g => g.Generate()); AssetDatabase.Refresh(); _state = StateGenerate.None; break; } } base.OnInspectorGUI(); if (GUILayout.Button("Set generate settings")) { foreach (var dataBox in AssemblyReflectionHelper.AllDataBox()) { Debug.Log(dataBox.ObjectType.Name); } // SetPathesWindow.ShowSetPathWindow(); } }
private static Dictionary <Type, Type> GetAll <T>() where T : BaseEditorStatic { var res = new Dictionary <Type, Type>(); AssemblyReflectionHelper.GetAllTypesInSolution <T>().ForEach(t => { var attr = t.GetCustomAttributes(typeof(ViewWrapperAttribute), false); if (attr.Length <= 0) { return; } var atr = attr[0] as ViewWrapperAttribute; res.Add(atr.WrapperType, t); }); return(res); }
public static T Deserilase <T>(this SerializedProperty properties, string key) where T : class { // Profiler.BeginSample("Desserialize"); var data = properties.FindPropertyRelative(key); if (data == null || !data.isArray || data.arraySize == 0) { return(default(T)); } var bytes = new byte[data.arraySize]; for (var i = 0; i < bytes.Length; i++) { bytes[i] = (byte)data.GetArrayElementAtIndex(i).intValue; } // Profiler.EndSample(); return(AssemblyReflectionHelper.Deserialse <T>(bytes)); }
public void OnAfterDeserialize() { if (_returnTypeData != null && _returnTypeData.Length > 0) { return; } _returnTypeData = AssemblyReflectionHelper.Serialise(DelegateType.GetMethod("Invoke").ReturnType); if (_paramsTypeData != null && _paramsTypeData.Length > 0) { return; } _paramsTypeData = AssemblyReflectionHelper.Serialise( DelegateType .GetMethod("Invoke"). GetParameters(). Select(e => e.ParameterType).ToArray()); //if (_DelegateTypeData != null && _DelegateTypeData.Length > 0 && _delegateType == null) // _delegateType = DataHelper.Deserialse<Type>(_DelegateTypeData }
private void Init() { var allTypes = AssemblyReflectionHelper.GetAllTypesInSolution <DataObject>(true).ToList(); _state = StateGenerate.None; _namesType = new string[allTypes.Count]; _dicTypes = new Dictionary <int, Type>(); for (var i = 0; i < allTypes.Count; i++) { _namesType[i] = allTypes[i].Name; _dicTypes.Add(i, allTypes[i]); } _parentType = typeof(DataObject); ChooseIndex = _dicTypes.FirstOrDefault(o => o.Value == _parentType).Key; _allGenerators = new List <CodeGenerators> { new DataGenerator(), new ProviderGenerator() }; _IsInited = true; }
public virtual void CreateAction(Type library) { Sdelegate = (MethodName == "None" || string.IsNullOrEmpty(MethodName)) ? null : AssemblyReflectionHelper.FindAction <Action>(library, MethodName); }