示例#1
0
    public void OnEnable()
    {
        #pragma warning disable 0168
        // ReSharper disable once UnusedVariable
        var svr = SteamVR.instance; // Init the SteamVR drivers
        #pragma warning restore 0168
        var overlay = OpenVR.Overlay;
        if (overlay == null)
        {
            return;
        }
        // Cache the default value on start
        _companionEuler = gameObject.transform.localRotation.eulerAngles;
        _objectPosition = Vector3.zero;
        _relativeAlpha  = RelativeAlpha;
        _relativeScale  = RelativeScale;
        _attachMode     = AttachMode;
        //AutoUpdateRenderTextures = false;
        var error = overlay.CreateOverlay(HOTK_Overlay.Key + gameObject.GetInstanceID(), gameObject.name, ref _handle);
        #pragma warning disable 0168
        // ReSharper disable once UnusedVariable
        var rt = RotationTracker; // Spawn RotationTracker
        #pragma warning restore 0168
        if (error != EVROverlayError.None)
        {
            Debug.LogError(error.ToString());
            enabled = false;
            return;
        }

        if (!_subscribed && Overlay != null)
        {
            _subscribed = true;
            HOTK_TrackedDeviceManager.OnControllerTriggerDown += ClickOverlay;
            HOTK_TrackedDeviceManager.OnControllerTriggerHold += ClickOverlay;
            HOTK_TrackedDeviceManager.OnControllerTriggerUp   += UnclickOverlay;

            Overlay.OnOverlayAttachmentChanges += AttachToOverlay;
            Overlay.OnOverlayAlphaChanges      += OverlayAlphaChanges;
            Overlay.OnOverlayScaleChanges      += OverlayScaleChanges;
            Overlay.OnOverlayAspectChanges     += OverlayAspectChanges;
            Overlay.OnOverlayPositionChanges   += OverlayPositionChanges;
            Overlay.OnOverlayRotationChanges   += OverlayRotationChanges;

            OnControllerHitsOverlay   += AimAtCompanion;
            OnControllerUnhitsOverlay += UnAimAtCompanion;
        }
        _overlayMode = OverlayMode;

        HOTK_TrackedDeviceManager.Instance.SetOverlayCanAim(this, _overlayMode == CompanionMode.VRInterface);
        updateCompanion = true;
    }
    private void CheckCompanionModeChanged()
    {
        if (_overlayMode == OverlayMode)
        {
            return;
        }
        _overlayMode = OverlayMode;

        if (Overlay != null)
        {
            AttachToOverlay(Overlay);
        }
    }
示例#3
0
    private void CheckCompanionModeChanged()
    {
        if (_overlayMode == OverlayMode)
        {
            return;
        }
        _overlayMode = OverlayMode;

        HOTK_TrackedDeviceManager.Instance.SetOverlayCanAim(this, _overlayMode == CompanionMode.VRInterface);

        if (Overlay != null)
        {
            AttachToOverlay(Overlay);
        }
    }