FittsLaw/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs
2018-10-08 23:54:11 -04:00

48 lines
1.4 KiB
C#

using UnityEngine;
using UnityEditor;
using System.IO;
class OVRManifestPreprocessor
{
[MenuItem("Tools/Oculus/Create store-compatible AndroidManifest.xml", false, 100000)]
public static void GenerateManifestForSubmission()
{
var so = ScriptableObject.CreateInstance(typeof(OVRPluginUpdaterStub));
var script = MonoScript.FromScriptableObject(so);
string assetPath = AssetDatabase.GetAssetPath(script);
string editorDir = Directory.GetParent(assetPath).FullName;
string srcFile = editorDir + "/AndroidManifest.OVRSubmission.xml";
if (!File.Exists(srcFile))
{
Debug.LogError("Cannot find Android manifest template for submission." +
" Please delete the OVR folder and reimport the Oculus Utilities.");
return;
}
string manifestFolder = Application.dataPath + "/Plugins/Android";
if (!Directory.Exists(manifestFolder))
Directory.CreateDirectory(manifestFolder);
string dstFile = manifestFolder + "/AndroidManifest.xml";
if (File.Exists(dstFile))
{
Debug.LogWarning("Cannot create Oculus store-compatible manifest due to conflicting file: \""
+ dstFile + "\". Please remove it and try again.");
return;
}
File.Copy(srcFile, dstFile);
AssetDatabase.Refresh();
}
[MenuItem("Tools/Oculus/Remove AndroidManifest.xml")]
public static void RemoveAndroidManifest()
{
AssetDatabase.DeleteAsset("Assets/Plugins/Android/AndroidManifest.xml");
AssetDatabase.Refresh();
}
}