48 lines
1.4 KiB
C#
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();
|
||
|
}
|
||
|
}
|