2021년 4학년 1학기 기업연계프로젝트2
컴퓨터소프트웨어공학과 <원광투어팀>
팀장 : 송유진
팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Prompt developers to use settings most compatible with SteamVR.
//
//=============================================================================
#if (UNITY_5_4_OR_NEWER && !UNITY_2018_1_OR_NEWER)
using UnityEngine;using UnityEditor;using System.IO;using System.Collections.Generic;using System.Linq;using System;using System.Reflection;
using UnityEditor.Callbacks;
namespace Valve.VR{ public class SteamVR_AutoEnableVR_54to2018 { [DidReloadScripts] private static void OnReload() { EditorApplication.update += Update; }
protected const string openVRString = "OpenVR";
private static void End() { EditorApplication.update -= Update; }
public static void Update() { if (!SteamVR_Settings.instance.autoEnableVR || Application.isPlaying) End(); bool enabledVR = false;
int shouldInstall = -1; if (UnityEditor.PlayerSettings.virtualRealitySupported == false) { shouldInstall = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "Would you like to enable Virtual Reality mode?\n\nThis will enable Virtual Reality in Player Settings and add OpenVR as a target.", "Yes", "No, and don't ask again", "No");
switch (shouldInstall) { case 0: //yes
UnityEditor.PlayerSettings.virtualRealitySupported = true; break; case 1: //no:
UnityEditor.EditorApplication.update -= Update; return; case 2: //no, don't ask
SteamVR_Settings.instance.autoEnableVR = false; SteamVR_Settings.Save(); UnityEditor.EditorApplication.update -= Update; return; } }
UnityEditor.BuildTargetGroup currentTarget = UnityEditor.EditorUserBuildSettings.selectedBuildTargetGroup;
#if UNITY_5_6_OR_NEWER
string[] devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevicesOnTargetGroup(currentTarget);#else
string[] devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevices(currentTarget);#endif
bool hasOpenVR = devices.Any(device => string.Equals(device, openVRString, System.StringComparison.CurrentCultureIgnoreCase));
if (hasOpenVR == false || enabledVR) { string[] newDevices; if (enabledVR && hasOpenVR == false) { newDevices = new string[] { openVRString }; //only list openvr if we enabled it
} else { List<string> devicesList = new List<string>(devices); //list openvr as the first option if it wasn't in the list.
if (hasOpenVR) devicesList.Remove(openVRString);
devicesList.Insert(0, openVRString); newDevices = devicesList.ToArray(); }
int shouldEnable = -1; if (shouldInstall == 0) shouldEnable = 0; else shouldEnable = UnityEditor.EditorUtility.DisplayDialogComplex("SteamVR", "Would you like to enable OpenVR as a VR target?", "Yes", "No, and don't ask again", "No");
switch (shouldEnable) { case 0: //yes
#if UNITY_5_6_OR_NEWER
UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(currentTarget, newDevices);#else
UnityEditorInternal.VR.VREditor.SetVREnabledDevices(currentTarget, newDevices);#endif
Debug.Log("<b>[SteamVR Setup]</b> Added OpenVR to supported VR SDKs list."); break; case 1: //no:
break; case 2: //no, don't ask
SteamVR_Settings.instance.autoEnableVR = false; SteamVR_Settings.Save(); break; }
}
UnityEditor.EditorApplication.update -= Update;
} }}#endif
|