Skip to content

Commit e1b2a21

Browse files
author
lawwong
committed
Handle error when repairing Oculus plugin asmdefs
1 parent 6a7d6be commit e1b2a21

3 files changed

Lines changed: 43 additions & 27 deletions

File tree

Assets/HTC.UnityPlugin/ViveInputUtility/Scripts/Editor/VRPlatformSettings/OculusSettings.cs

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,33 +52,44 @@ public OculusRecommendedSettings()
5252
{
5353
if (v)
5454
{
55-
try
55+
string asmdefFullPath = Path.GetFullPath(ASMDEFS_PATH);
56+
if (!Directory.Exists(asmdefFullPath))
5657
{
57-
string asmdefFullPath = Path.GetFullPath(ASMDEFS_PATH);
58-
if (!Directory.Exists(asmdefFullPath))
59-
{
60-
MonoScript script = MonoScript.FromScriptableObject(VIUProjectSettings.Instance);
61-
string path = AssetDatabase.GetAssetPath(script);
62-
asmdefFullPath = Path.GetFullPath(AssetDatabase.GetAssetPath(script) + "/../../../.asmdefs/Oculus/");
63-
Debug.Log("asmdefFullPath=" + asmdefFullPath);
64-
}
65-
string oculusFullPath = Path.GetFullPath(OCULUS_SDK_PATH);
66-
File.Copy(asmdefFullPath + AVATAR_ASMDEF_FILE_NAME, oculusFullPath + "Avatar/" + AVATAR_ASMDEF_FILE_NAME);
67-
File.Copy(asmdefFullPath + LIPSYNC_ASMDEF_FILE_NAME, oculusFullPath + "LipSync/" + LIPSYNC_ASMDEF_FILE_NAME);
68-
File.Copy(asmdefFullPath + LIPSYNC_EDITOR_ASMDEF_FILE_NAME, oculusFullPath + "LipSync/Editor/" + LIPSYNC_EDITOR_ASMDEF_FILE_NAME);
69-
File.Copy(asmdefFullPath + SPATIALIZER_ASMDEF_FILE_NAME, oculusFullPath + "Spatializer/" + SPATIALIZER_ASMDEF_FILE_NAME);
70-
File.Copy(asmdefFullPath + SPATIALIZER_EDITOR_ASMDEF_FILE_NAME, oculusFullPath + "Spatializer/Editor/" + SPATIALIZER_EDITOR_ASMDEF_FILE_NAME);
71-
AssetDatabase.Refresh();
72-
}
73-
catch (System.Exception e)
74-
{
75-
Debug.LogException(e);
58+
MonoScript script = MonoScript.FromScriptableObject(VIUProjectSettings.Instance);
59+
string path = AssetDatabase.GetAssetPath(script);
60+
asmdefFullPath = Path.GetFullPath(AssetDatabase.GetAssetPath(script) + "/../../../.asmdefs/Oculus/");
61+
//Debug.Log("asmdefFullPath=" + asmdefFullPath);
7662
}
63+
string oculusFullPath = Path.GetFullPath(OCULUS_SDK_PATH);
64+
SafeCopy(asmdefFullPath + AVATAR_ASMDEF_FILE_NAME, oculusFullPath + "Avatar/" + AVATAR_ASMDEF_FILE_NAME);
65+
SafeCopy(asmdefFullPath + LIPSYNC_ASMDEF_FILE_NAME, oculusFullPath + "LipSync/" + LIPSYNC_ASMDEF_FILE_NAME);
66+
SafeCopy(asmdefFullPath + LIPSYNC_EDITOR_ASMDEF_FILE_NAME, oculusFullPath + "LipSync/Editor/" + LIPSYNC_EDITOR_ASMDEF_FILE_NAME);
67+
SafeCopy(asmdefFullPath + SPATIALIZER_ASMDEF_FILE_NAME, oculusFullPath + "Spatializer/" + SPATIALIZER_ASMDEF_FILE_NAME);
68+
SafeCopy(asmdefFullPath + SPATIALIZER_EDITOR_ASMDEF_FILE_NAME, oculusFullPath + "Spatializer/Editor/" + SPATIALIZER_EDITOR_ASMDEF_FILE_NAME);
69+
AssetDatabase.Refresh();
7770
}
7871
},
7972
recommendedValue = true,
8073
});
8174
}
75+
76+
private static bool SafeCopy(string src, string dst)
77+
{
78+
try
79+
{
80+
if (!File.Exists(dst))
81+
{
82+
File.Copy(src, dst);
83+
return true;
84+
}
85+
}
86+
catch (System.Exception e)
87+
{
88+
Debug.LogException(e);
89+
}
90+
91+
return false;
92+
}
8293
}
8394

8495
public static partial class VIUSettingsEditor

Assets/HTC.UnityPlugin/ViveInputUtility/Scripts/Misc/OculusVRExtension/VIUOvrAvatar.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
#if VIU_OCULUSVR_AVATAR
2-
using Oculus.Avatar;
3-
#endif
1+
//========= Copyright 2016-2022, HTC Corporation. All rights reserved. ===========
2+
43
using System;
54
using System.Collections;
65
using System.Collections.Generic;
76
using UnityEngine;
87

8+
#if VIU_OCULUSVR_AVATAR
9+
using Oculus.Avatar;
10+
#endif
11+
912
namespace HTC.UnityPlugin.Vive.OculusVRExtension
1013
{
1114
public class VIUOvrAvatar : MonoBehaviour
1215
{
13-
#if VIU_OCULUSVR_1_32_0_OR_NEWER
16+
#if VIU_OCULUSVR_AVATAR
1417
public const bool SUPPORTED = true;
1518
#if UNITY_ANDROID && !UNITY_EDITOR
1619
public const bool USE_MOBILE_TEXTURE_FORMAT = true;

Assets/HTC.UnityPlugin/ViveInputUtility/Scripts/Misc/OculusVRExtension/VIUOvrAvatarComponent.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
using System;
1+
//========= Copyright 2016-2022, HTC Corporation. All rights reserved. ===========
2+
3+
using System;
24
using System.Runtime.InteropServices;
35
using UnityEngine;
46
using System.Reflection;
57

6-
#if VIU_OCULUSVR_1_32_0_OR_NEWER
8+
#if VIU_OCULUSVR_AVATAR
79
using Oculus.Avatar;
810
#endif
911

1012
namespace HTC.UnityPlugin.Vive.OculusVRExtension
1113
{
1214
public class VIUOvrAvatarComponent : MonoBehaviour
1315
{
14-
#if VIU_OCULUSVR_1_32_0_OR_NEWER
16+
#if VIU_OCULUSVR_AVATAR
1517
[SerializeField]
1618
private VIUOvrAvatar owner;
1719
[SerializeField]

0 commit comments

Comments
 (0)