Skip to content
This repository has been archived by the owner on Nov 8, 2019. It is now read-only.

Commit

Permalink
GVR SDK for Unity v1.110.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rusmaxham committed Nov 8, 2017
1 parent 95d9451 commit 0d04c13
Show file tree
Hide file tree
Showing 216 changed files with 1,797 additions and 36,713 deletions.
78 changes: 40 additions & 38 deletions Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,48 +12,50 @@
// See the License for the specific language governing permissions and
// limitations under the License.

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(DemoInputManager))]
public class DemoInputManagerEditor : Editor {
SerializedProperty emulatedPlatformTypeProp;
SerializedProperty gvrControllerMainProp;
SerializedProperty gvrControllerPointerProp;
SerializedProperty gvrReticlePointerProp;

void OnEnable () {
gvrControllerMainProp =
serializedObject.FindProperty(DemoInputManager.CONTROLLER_MAIN_PROP_NAME);
gvrControllerPointerProp =
serializedObject.FindProperty(DemoInputManager.CONTROLLER_POINTER_PROP_NAME);
gvrReticlePointerProp =
serializedObject.FindProperty(DemoInputManager.RETICLE_POINTER_PROP_NAME);

emulatedPlatformTypeProp =
serializedObject.FindProperty(DemoInputManager.EMULATED_PLATFORM_PROP_NAME);
}
namespace GoogleVR.Demos {
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(DemoInputManager))]
public class DemoInputManagerEditor : Editor {
SerializedProperty emulatedPlatformTypeProp;
SerializedProperty gvrControllerMainProp;
SerializedProperty gvrControllerPointerProp;
SerializedProperty gvrReticlePointerProp;

void OnEnable () {
gvrControllerMainProp =
serializedObject.FindProperty(DemoInputManager.CONTROLLER_MAIN_PROP_NAME);
gvrControllerPointerProp =
serializedObject.FindProperty(DemoInputManager.CONTROLLER_POINTER_PROP_NAME);
gvrReticlePointerProp =
serializedObject.FindProperty(DemoInputManager.RETICLE_POINTER_PROP_NAME);

emulatedPlatformTypeProp =
serializedObject.FindProperty(DemoInputManager.EMULATED_PLATFORM_PROP_NAME);
}

public override void OnInspectorGUI() {
serializedObject.Update();
public override void OnInspectorGUI() {
serializedObject.Update();

// Add clickable script field, as would have been provided by DrawDefaultInspector()
MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour);
EditorGUI.BeginDisabledGroup (true);
EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false);
EditorGUI.EndDisabledGroup ();
// Add clickable script field, as would have been provided by DrawDefaultInspector()
MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour);
EditorGUI.BeginDisabledGroup (true);
EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false);
EditorGUI.EndDisabledGroup ();

EditorGUILayout.PropertyField(gvrControllerMainProp);
EditorGUILayout.PropertyField(gvrControllerPointerProp);
EditorGUILayout.PropertyField(gvrReticlePointerProp);
EditorGUILayout.PropertyField(gvrControllerMainProp);
EditorGUILayout.PropertyField(gvrControllerPointerProp);
EditorGUILayout.PropertyField(gvrReticlePointerProp);

if (DemoInputManager.playerSettingsHasCardboard() ==
DemoInputManager.playerSettingsHasDaydream()) {
// Show the platform emulation dropdown only if both or neither VR SDK selected in
// Player Settings > Virtual Reality supported,
EditorGUILayout.PropertyField(emulatedPlatformTypeProp);
}
if (DemoInputManager.playerSettingsHasCardboard() ==
DemoInputManager.playerSettingsHasDaydream()) {
// Show the platform emulation dropdown only if both or neither VR SDK selected in
// Player Settings > Virtual Reality supported,
EditorGUILayout.PropertyField(emulatedPlatformTypeProp);
}

serializedObject.ApplyModifiedProperties();
serializedObject.ApplyModifiedProperties();
}
}
}
176 changes: 88 additions & 88 deletions Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,125 +14,125 @@

// Only invoke custom build processor when building for Android.
#if UNITY_ANDROID
using System;
using UnityEditor;
using UnityEditor.Build;
using UnityEngine;
using UnityEditorInternal.VR;

class PermissionsDemoBuildProcessor : IPreprocessBuild, IPostprocessBuild
namespace GoogleVR.Demos
{
private const string SCENE_NAME_PERMISSIONS_DEMO = "PermissionsDemo";
private const string VR_DEVICE_CARDBOARD = "cardboard";
private const string VR_DEVICE_DAYDREAM = "daydream";

private bool m_cardboardAddedFromCode = false;

public int callbackOrder
{
get { return 0; }
}
using System;
using UnityEditor;
using UnityEditor.Build;
using UnityEditorInternal.VR;

// OnPreprocessBuild() is called right before the build process begins. If it
// detects that the first enabled scene in the build arrays is the PermissionsDemo,
// and Daydream is in the VR SDKs, it will add Cardboard to the VR SDKs. Because
// the PermissionsDemo needs a perm statement in the Manifest while other demos don't.
// Adding Cardboard to VR SDKs will merge in the Manifest-Cardboard which has perm
// statement in it.
public void OnPreprocessBuild(BuildTarget target, string path)
class PermissionsDemoBuildProcessor : IPreprocessBuild, IPostprocessBuild
{
m_cardboardAddedFromCode = false;
private const string SCENE_NAME_PERMISSIONS_DEMO = "PermissionsDemo";

string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android);
private bool m_cardboardAddedFromCode = false;

EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes;
public int callbackOrder
{
get { return 0; }
}

// See if PermissionsDemo is the first enabled scene in the array of scenes to build.
for (int i = 0; i < scenes.Length; i++)
// OnPreprocessBuild() is called right before the build process begins. If it
// detects that the first enabled scene in the build arrays is the PermissionsDemo,
// and Daydream is in the VR SDKs, it will add Cardboard to the VR SDKs. Because
// the PermissionsDemo needs a perm statement in the Manifest while other demos don't.
// Adding Cardboard to VR SDKs will merge in the Manifest-Cardboard which has perm
// statement in it.
public void OnPreprocessBuild(BuildTarget target, string path)
{
if (scenes[i].path.Contains(SCENE_NAME_PERMISSIONS_DEMO))
m_cardboardAddedFromCode = false;

string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android);

EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes;

// See if PermissionsDemo is the first enabled scene in the array of scenes to build.
for (int i = 0; i < scenes.Length; i++)
{
if (!scenes[i].enabled)
if (scenes[i].path.Contains(SCENE_NAME_PERMISSIONS_DEMO))
{
return;
if (!scenes[i].enabled)
{
return;
}
else
{
break;
}
}
else
{
break;
if (scenes[i].enabled)
{
return;
}
}
}
else

bool hasCardboard = Array.Exists<string>(androidVrSDKs,
element => element.Equals(GvrSettings.VR_SDK_CARDBOARD));

if (hasCardboard)
{
if (scenes[i].enabled)
{
return;
}
return;
}
}

bool hasCardboard = Array.Exists<string>(androidVrSDKs,
element => element.Equals(VR_DEVICE_CARDBOARD));
bool hasDaydream = Array.Exists<string>(androidVrSDKs,
element => element.Equals(GvrSettings.VR_SDK_DAYDREAM));

if (hasCardboard)
{
return;
}
if (!hasDaydream)
{
return;
}

bool hasDaydream = Array.Exists<string>(androidVrSDKs,
element => element.Equals(VR_DEVICE_DAYDREAM));
string[] androidVrSDKsAppended = new string[androidVrSDKs.Length+1];

if (!hasDaydream)
{
return;
}
for (int i = 0; i < androidVrSDKs.Length; i++)
{
androidVrSDKsAppended[i] = androidVrSDKs[i];
}

string[] androidVrSDKsAppended = new string[androidVrSDKs.Length+1];
androidVrSDKsAppended[androidVrSDKsAppended.Length - 1] = GvrSettings.VR_SDK_CARDBOARD;

for (int i = 0; i < androidVrSDKs.Length; i++)
{
androidVrSDKsAppended[i] = androidVrSDKs[i];
VREditor.SetVREnabledOnTargetGroup(
BuildTargetGroup.Android, true);
VREditor.SetVREnabledDevicesOnTargetGroup(
BuildTargetGroup.Android,
androidVrSDKsAppended);

m_cardboardAddedFromCode = true;
}

androidVrSDKsAppended[androidVrSDKsAppended.Length - 1] = VR_DEVICE_CARDBOARD;
// OnPostprocessBuild() is called after the build process. It does appropriate cleanup
// so that this script only affects build process for PermissionsDemo, not others.
public void OnPostprocessBuild(BuildTarget target, string path)
{
if (!m_cardboardAddedFromCode)
return;

VREditor.SetVREnabledOnTargetGroup(
BuildTargetGroup.Android, true);
VREditor.SetVREnabledDevicesOnTargetGroup(
BuildTargetGroup.Android,
androidVrSDKsAppended);
string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android);

m_cardboardAddedFromCode = true;
}

// OnPostprocessBuild() is called after the build process. It does appropriate cleanup
// so that this script only affects build process for PermissionsDemo, not others.
public void OnPostprocessBuild(BuildTarget target, string path)
{
if (!m_cardboardAddedFromCode)
return;
// The enabled devices are modified somehow, which shouldn't happen. Abort the post build process.
if (androidVrSDKs.Length == 0 || androidVrSDKs[androidVrSDKs.Length - 1] != GvrSettings.VR_SDK_CARDBOARD)
{
return;
}

string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android);
string[] androidVrSDKsShortened = new string[androidVrSDKs.Length - 1];

// The enabled devices are modified somehow, which shouldn't happen. Abort the post build process.
if (androidVrSDKs.Length == 0 || androidVrSDKs[androidVrSDKs.Length - 1] != VR_DEVICE_CARDBOARD)
{
return;
}
for (int i = 0; i < androidVrSDKsShortened.Length; i++)
{
androidVrSDKsShortened[i] = androidVrSDKs[i];
}

string[] androidVrSDKsShortened = new string[androidVrSDKs.Length - 1];
VREditor.SetVREnabledOnTargetGroup(
BuildTargetGroup.Android, true);
VREditor.SetVREnabledDevicesOnTargetGroup(
BuildTargetGroup.Android,
androidVrSDKsShortened);

for (int i = 0; i < androidVrSDKsShortened.Length; i++)
{
androidVrSDKsShortened[i] = androidVrSDKs[i];
m_cardboardAddedFromCode = false;
}

VREditor.SetVREnabledOnTargetGroup(
BuildTargetGroup.Android, true);
VREditor.SetVREnabledDevicesOnTargetGroup(
BuildTargetGroup.Android,
androidVrSDKsShortened);

m_cardboardAddedFromCode = false;
}
}
#endif // UNITY_ANDROID
Loading

0 comments on commit 0d04c13

Please sign in to comment.