Ejemplo n.º 1
0
        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);
 }
Ejemplo n.º 3
0
    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);
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
    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;
        }
Ejemplo n.º 9
0
 public virtual void CreateAction(Type library)
 {
     Sdelegate = (MethodName == "None" || string.IsNullOrEmpty(MethodName))
        ? null
        : AssemblyReflectionHelper.FindAction <Action>(library, MethodName);
 }