void IPreprocessBuildWithReport.OnPreprocessBuild(BuildReport report)
        {
            objects.Clear();
            names.Clear();
            preloadedAssets.Clear();

            objects.Add(ALESettings.Get());
            names.Add(ALESettings.Get().SettingName);

            preloadedAssets.AddRange(PlayerSettings.GetPreloadedAssets());

            for (int i = 0; i < objects.Count; i++)
            {
                if (File.Exists($"{ProjectSettingsConsts.ROOT_FOLDER}/{names[i]}.asset"))
                {
                    ScriptableObject setting = objects[i];

                    string assetPath = $"Assets/{ProjectSettingsConsts.PACKAGE_NAME}_{names[i]}.asset";

                    setting.hideFlags = HideFlags.None;
                    AssetDatabase.CreateAsset(setting, assetPath);
                    AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);

                    Object newAsset = AssetDatabase.LoadAssetAtPath(assetPath, setting.GetType());

                    preloadedAssets.Add(newAsset);
                }
            }

            PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray());
        }
Beispiel #2
0
        private static void RegisterRigidbodyWrapper()
        {
            LevelEditorSerializer.RegisterType <Rigidbody>();

            if (ALESettings.Get().ApplyRigidbodyWrapper)
            {
                RegisterWrapper <Rigidbody, RigidbodyWrapper>();
            }
        }
Beispiel #3
0
        private static void RegisterTransformWrapper()
        {
            LevelEditorSerializer.RegisterType <Transform>();

            if (ALESettings.Get().ApplyTransformWrapper)
            {
                RegisterWrapper <Transform, TransformWrapper>();
            }
        }