- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
63 lines
2.6 KiB
Plaintext
63 lines
2.6 KiB
Plaintext
// Oculus Defines|SDK_Oculus|001
|
|
namespace VRTK
|
|
{
|
|
using System;
|
|
using System.Reflection;
|
|
|
|
/// <summary>
|
|
/// Handles all the scripting define symbols for the Oculus and Avatar SDKs.
|
|
/// </summary>
|
|
public static class SDK_OculusDefines
|
|
{
|
|
/// <summary>
|
|
/// The scripting define symbol for the Oculus SDK.
|
|
/// </summary>
|
|
public const string ScriptingDefineSymbol = SDK_ScriptingDefineSymbolPredicateAttribute.RemovableSymbolPrefix + "SDK_OCULUS";
|
|
/// <summary>
|
|
/// The scripting define symbol for the Oculus Avatar SDK.
|
|
/// </summary>
|
|
public const string AvatarScriptingDefineSymbol = SDK_ScriptingDefineSymbolPredicateAttribute.RemovableSymbolPrefix + "SDK_OCULUS_AVATAR";
|
|
|
|
private const string BuildTargetGroupName = "Standalone";
|
|
|
|
[SDK_ScriptingDefineSymbolPredicate(ScriptingDefineSymbol, BuildTargetGroupName)]
|
|
[SDK_ScriptingDefineSymbolPredicate(SDK_ScriptingDefineSymbolPredicateAttribute.RemovableSymbolPrefix + "OCULUS_UTILITIES_1_12_0_OR_NEWER", BuildTargetGroupName)]
|
|
private static bool IsUtilitiesVersion1120OrNewer()
|
|
{
|
|
Version wrapperVersion = GetOculusWrapperVersion();
|
|
return wrapperVersion != null && wrapperVersion >= new Version(1, 12, 0);
|
|
}
|
|
|
|
[SDK_ScriptingDefineSymbolPredicate(ScriptingDefineSymbol, BuildTargetGroupName)]
|
|
[SDK_ScriptingDefineSymbolPredicate(SDK_ScriptingDefineSymbolPredicateAttribute.RemovableSymbolPrefix + "OCULUS_UTILITIES_1_11_0_OR_OLDER", BuildTargetGroupName)]
|
|
private static bool IsUtilitiesVersion1110OrOlder()
|
|
{
|
|
Version wrapperVersion = GetOculusWrapperVersion();
|
|
return wrapperVersion != null && wrapperVersion < new Version(1, 12, 0);
|
|
}
|
|
|
|
[SDK_ScriptingDefineSymbolPredicate(AvatarScriptingDefineSymbol, BuildTargetGroupName)]
|
|
private static bool IsAvatarAvailable()
|
|
{
|
|
return (IsUtilitiesVersion1120OrNewer() || IsUtilitiesVersion1110OrOlder())
|
|
&& VRTK_SharedMethods.GetTypeUnknownAssembly("OvrAvatar") != null;
|
|
}
|
|
|
|
private static Version GetOculusWrapperVersion()
|
|
{
|
|
Type pluginClass = VRTK_SharedMethods.GetTypeUnknownAssembly("OVRPlugin");
|
|
if (pluginClass == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
FieldInfo versionField = pluginClass.GetField("wrapperVersion", BindingFlags.Public | BindingFlags.Static);
|
|
if (versionField == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return (Version)versionField.GetValue(null);
|
|
}
|
|
}
|
|
} |