internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn) { timerTickCallbackDelegate = OnTick; timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate <System.Delegate>(timerTickCallbackDelegate); NUILog.Debug($"(0x{SwigCPtr.Handle:X})Timer() constructor!"); }
public override bool Initialize() { #if UNITY_INPUT_SYSTEM //InputLayoutLoader.RegisterInputLayouts(); #endif //this only works at the right time in editor. In builds we use a different method (reading the asset manually) #if UNITY_EDITOR OpenVRSettings settings = OpenVRSettings.GetSettings(); if (settings != null) { if (string.IsNullOrEmpty(settings.EditorAppKey)) { settings.EditorAppKey = settings.GenerateEditorAppKey(); } UserDefinedSettings userDefinedSettings; userDefinedSettings.stereoRenderingMode = (ushort)settings.GetStereoRenderingMode(); userDefinedSettings.initializationType = (ushort)settings.GetInitializationType(); userDefinedSettings.applicationName = null; userDefinedSettings.editorAppKey = null; userDefinedSettings.mirrorViewMode = (ushort)settings.GetMirrorViewMode(); userDefinedSettings.editorAppKey = settings.EditorAppKey; //only set the key if we're in the editor. Otherwise let steamvr set the key. if (OpenVRHelpers.IsUsingSteamVRInput()) { userDefinedSettings.editorAppKey = OpenVRHelpers.GetEditorAppKeyFromPlugin(); } userDefinedSettings.applicationName = string.Format("[Testing] {0}", GetEscapedApplicationName()); settings.InitializeActionManifestFileRelativeFilePath(); userDefinedSettings.actionManifestPath = settings.ActionManifestFileRelativeFilePath; SetUserDefinedSettings(userDefinedSettings); } #endif CreateSubsystem <XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, "OpenVR Display"); EVRInitError result = GetInitializationResult(); if (result != EVRInitError.None) { DestroySubsystem <XRDisplaySubsystem>(); Debug.LogError("<b>[OpenVR]</b> Could not initialize OpenVR. Error code: " + result.ToString()); return(false); } CreateSubsystem <XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "OpenVR Input"); OpenVREvents.Initialize(); TickCallbackDelegate callback = TickCallback; RegisterTickCallback(callback); callback(0); return(displaySubsystem != null && inputSubsystem != null); }
internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.Timer.Timer_SWIGUpcast(cPtr), cMemoryOwn) { swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); _timerTickCallbackDelegate = OnTick; _timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate <System.Delegate>(_timerTickCallbackDelegate); NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() contructor!"); }
static extern void RegisterTickCallback([MarshalAs(UnmanagedType.FunctionPtr)] TickCallbackDelegate callbackPointer);
public override bool Initialize() { #if UNITY_INPUT_SYSTEM InputLayoutLoader.RegisterInputLayouts(); #endif //this only works at the right time in editor. In builds we use a different method (reading the asset manually) #if UNITY_EDITOR OpenVRSettings settings = OpenVRSettings.GetSettings(); if (settings != null) { if (string.IsNullOrEmpty(settings.EditorAppKey)) { settings.EditorAppKey = settings.GenerateEditorAppKey(); } UserDefinedSettings userDefinedSettings; userDefinedSettings.stereoRenderingMode = (ushort)settings.GetStereoRenderingMode(); userDefinedSettings.initializationType = (ushort)settings.GetInitializationType(); userDefinedSettings.applicationName = null; userDefinedSettings.editorAppKey = null; userDefinedSettings.isSteamVRLegacyInput = settings.IsLegacy; userDefinedSettings.mirrorViewMode = (ushort)settings.GetMirrorViewMode(); if (OpenVRHelpers.IsUsingSteamVRInput()) { userDefinedSettings.isSteamVRLegacyInput = false; settings.IsLegacy = false; } userDefinedSettings.editorAppKey = settings.EditorAppKey; //only set the key if we're in the editor. Otherwise let steamvr set the key. if (OpenVRHelpers.IsUsingSteamVRInput()) { userDefinedSettings.editorAppKey = OpenVRHelpers.GetEditorAppKeyFromPlugin(); } userDefinedSettings.applicationName = string.Format("[Testing] {0}", GetEscapedApplicationName()); settings.InitializeActionManifestFileRelativeFilePath(); userDefinedSettings.actionManifestPath = settings.ActionManifestFileRelativeFilePath; //only set the path if the file exists FileInfo actionManifestFileInfo = new FileInfo(userDefinedSettings.actionManifestPath); if (actionManifestFileInfo.Exists) { userDefinedSettings.actionManifestPath = actionManifestFileInfo.FullName.Replace("\\", "\\\\"); } else { userDefinedSettings.actionManifestPath = null; } SetUserDefinedSettings(userDefinedSettings); } #endif CreateSubsystem <XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, "OpenVR Display"); CreateSubsystem <XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "OpenVR Input"); OpenVREvents.Initialize(); TickCallbackDelegate callback = TickCallback; RegisterTickCallback(callback); callback(0); return(displaySubsystem != null && inputSubsystem != null); }