private void OnEnable() { #if UNITY_EDITOR ConsoleCallbackHandler.AddCallback(() => { Dependencies.RescanDictionary(); StartCoroutine(ConsoleTheConsole()); }, LogType.Error, "Can't remove"); if (PrefabUtility.GetPrefabParent(gameObject) == null && PrefabUtility.GetPrefabObject(gameObject) != null) { return; } #endif // if (!gameObject.activeInHierarchy) // return; //TeleLib = gameObject.AddComponent<TeleportableLib>(); //Reset the state of ignored and added colliders if (_ignoredColliders != null) { foreach (Portal p in _ignoredColliders.Keys) { ResumeAllCollision(p); } } if (Doppleganger) { Destroy(Doppleganger); } _ignoredColliders = new Dictionary <Portal, HashSet <Collider> >(); _addedColliders = new Dictionary <Portal, HashSet <Collider> >(); Transforms = new Dictionary <Transform, Transform>(); Renderers = new Dictionary <Renderer, Renderer>(); SkinnedRenderers = new HashSet <SkinnedMeshRenderer>(); TeleportableScripts = new HashSet <TeleportableScript>(); Colliders = new Dictionary <int, Collider>(); if (!root) { root = transform; } StartCoroutine(SpawnDoppleganger()); #if VR_PORTALS interactable = gameObject.GetComponent <VRTK_InteractableObject>(); #endif _visOnly = VisOnly; //Doppleganger.ApplyHideFlagsRecursive(HideFlags.HideAndDontSave); UpdateBounds(); TeleportableBounds.center = transform.position; }
public static void ApplyVR(bool includeVRTK) { EditorUtility.DisplayProgressBar("Applying VR Presets...", "", 1f); if (includeVRTK) { Logger.Log("Importing VRTK"); EditorPrefs.SetInt(_importingVRTK, 2); var vrtkPath = Directory.GetFiles("Assets", "vrtk.unitypackage", SearchOption.AllDirectories); if (vrtkPath.Length > 0) { AssetDatabase.ImportPackage(vrtkPath[0], false); //AssetDatabase.Refresh(); } else { // failed to find vrtk package } } else { // if the user decides to set VR mode without importing VRTK the compile flags can cause errors/ // detect those errors and let the user know the problem. if (!VRTKIsMaybeInstalled) { ConsoleCallbackHandler.AddCallback(HandleVRTKImportError, LogType.Error, "CS0246"); } } var vrtkSupportPath = Directory.GetFiles("Assets", "vrtk_support.unitypackage", SearchOption.AllDirectories); if (vrtkSupportPath.Length > 0) { AssetDatabase.ImportPackage(vrtkSupportPath[0], false); AssetDatabase.Refresh(); } else { // failed to find vrtk_support package } EditorPrefs.SetBool(_performingSetup, true); if (!projectInitialized) { PerformFirstTimeSetup(); } SKSEditorUtil.AddDefine(vrSymbol); }
private void OnEnable() { _colliders = new Dictionary <int, Collider>(); #if UNITY_EDITOR ConsoleCallbackHandler.AddCallback(() => { Dependencies.RescanDictionary(); StartCoroutine(ConsoleTheConsole()); }, LogType.Error, "Can't remove"); if (PrefabUtility.GetPrefabParent(gameObject) == null && PrefabUtility.GetPrefabObject(gameObject) != null) { return; } #endif if (Doppleganger) { Destroy(Doppleganger); } if (_doppleDisabler) { Destroy(_doppleDisabler); } _doppleDisabler = new GameObject("Doppleganger Disabler (temp)"); _doppleDisabler.SetActive(false); Transforms = new Dictionary <Transform, Transform>(); Renderers = new Dictionary <Renderer, Renderer>(); SkinnedRenderers = new HashSet <SkinnedMeshRenderer>(); TeleportableScripts = new HashSet <TeleportableScript>(); if (!Root) { Root = transform; } StartCoroutine(SpawnDoppleganger()); #if VR_PORTALS interactable = gameObject.GetComponent <VRTK_InteractableObject>(); #endif _visOnly = VisOnly; #if !SKS_DEV Doppleganger.ApplyHideFlagsRecursive(HideFlags.HideAndDontSave); #endif UpdateBounds(); TeleportableBounds.center = transform.position; }